1/*
2 This file is part of the KDE libraries
3 SPDX-FileCopyrightText: 2016 Kai Uwe Broulik <kde@privat.broulik.de>
4
5 SPDX-License-Identifier: LGPL-2.0-or-later
6*/
7
8#ifndef OPENFILEMANAGERWINDOWJOB_P_H
9#define OPENFILEMANAGERWINDOWJOB_P_H
10
11#include <KJob>
12
13#include "openfilemanagerwindowjob.h"
14
15namespace KIO
16{
17class AbstractOpenFileManagerWindowStrategy : public QObject
18{
19 Q_OBJECT
20public:
21 explicit AbstractOpenFileManagerWindowStrategy()
22 : QObject()
23 {
24 }
25
26 virtual ~AbstractOpenFileManagerWindowStrategy()
27 {
28 }
29 virtual void start(const QList<QUrl> &urls, const QByteArray &asn) = 0;
30
31Q_SIGNALS:
32 void finished(int error);
33};
34
35#ifdef WITH_QTDBUS
36class OpenFileManagerWindowDBusStrategy : public AbstractOpenFileManagerWindowStrategy
37{
38public:
39 explicit OpenFileManagerWindowDBusStrategy()
40 : AbstractOpenFileManagerWindowStrategy()
41 {
42 }
43 void start(const QList<QUrl> &urls, const QByteArray &asn) override;
44};
45#endif
46
47class OpenFileManagerWindowKRunStrategy : public AbstractOpenFileManagerWindowStrategy
48{
49public:
50 explicit OpenFileManagerWindowKRunStrategy(OpenFileManagerWindowJob *job)
51 : AbstractOpenFileManagerWindowStrategy()
52 , m_job(job)
53 {
54 }
55 void start(const QList<QUrl> &urls, const QByteArray &asn) override;
56
57private:
58 OpenFileManagerWindowJob *m_job;
59};
60
61#if defined(Q_OS_WINDOWS)
62class OpenFileManagerWindowWindowsShellStrategy : public AbstractOpenFileManagerWindowStrategy
63{
64public:
65 explicit OpenFileManagerWindowWindowsShellStrategy()
66 : AbstractOpenFileManagerWindowStrategy()
67 {
68 }
69 void start(const QList<QUrl> &urls, const QByteArray &asn) override;
70};
71#endif
72}
73
74#endif // OPENFILEMANAGERWINDOWJOB_P_H
75

source code of kio/src/gui/openfilemanagerwindowjob_p.h