feat: init dbus service structure
Log: 初始化dbus服务结构
This commit is contained in:
parent
c10838200b
commit
10add2092c
@ -4,26 +4,21 @@ set(BIN_NAME dde-application-manager)
|
||||
|
||||
set(DBUS_INTERFACE_DIR ${CMAKE_CURRENT_LIST_DIR}/dbus)
|
||||
|
||||
function(generation_dbus_interface xml class_name class_file)
|
||||
execute_process(COMMAND ${DTK_XML2CPP} -c ${class_name} -p ${class_file} ${xml}
|
||||
WORKING_DIRECTORY ${DBUS_INTERFACE_DIR})
|
||||
endfunction(generation_dbus_interface)
|
||||
set(DBUSADAPTORS "")
|
||||
file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_LIST_DIR}/*.cpp ${CMAKE_CURRENT_LIST_DIR}/*.h)
|
||||
|
||||
set(DBUS "")
|
||||
file(GLOB SRCS ${CMAKE_CURRENT_LIST_DIR}/*.cpp)
|
||||
file(GLOB HEADERS ${CMAKE_CURRENT_LIST_DIR}/include/*)
|
||||
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.xml applicationmanager1service.h ApplicationManager1Service)
|
||||
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.Application.xml applicationservice.h ApplicationService)
|
||||
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.Instance.xml instanceservice.h InstanceService)
|
||||
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.JobManager1.xml jobmanager1service.h JobManager1Service)
|
||||
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.JobManager1.Job.xml jobservice.h JobService)
|
||||
|
||||
qt_add_dbus_interface(DBUS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.xml ApplicationManager)
|
||||
qt_add_dbus_interface(DBUS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.Application.xml Application)
|
||||
qt_add_dbus_interface(DBUS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.Instance.xml Instance)
|
||||
qt_add_dbus_interface(DBUS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.JobManager1.xml JobManager)
|
||||
qt_add_dbus_interface(DBUS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.JobManager1.Job.xml Job)
|
||||
|
||||
add_executable(${BIN_NAME} ${DBUS} ${SRCS})
|
||||
add_executable(${BIN_NAME} ${DBUSADAPTORS} ${SRCS})
|
||||
|
||||
target_include_directories(${BIN_NAME} PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}/include
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_LIST_DIR}/dbus
|
||||
${CMAKE_CURRENT_BINARY_DIR}/src
|
||||
)
|
||||
|
||||
target_link_libraries(${BIN_NAME} PRIVATE
|
||||
|
41
src/dbus/applicationmanager1service.cpp
Normal file
41
src/dbus/applicationmanager1service.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#include "applicationmanager1service.h"
|
||||
|
||||
ApplicationManager1Service::ApplicationManager1Service(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
ApplicationManager1Service::~ApplicationManager1Service() {}
|
||||
|
||||
QList<QDBusObjectPath> ApplicationManager1Service::list() const
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
||||
|
||||
QDBusObjectPath ApplicationManager1Service::Application(const QString &id)
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
||||
|
||||
QString ApplicationManager1Service::Identify(const QDBusUnixFileDescriptor &pidfd,
|
||||
QDBusObjectPath &application,
|
||||
QDBusObjectPath &application_instance)
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
||||
|
||||
QDBusObjectPath ApplicationManager1Service::Launch(const QString &id,
|
||||
const QString &action,
|
||||
const QStringList &fields,
|
||||
const QVariantMap &options)
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
29
src/dbus/applicationmanager1service.h
Normal file
29
src/dbus/applicationmanager1service.h
Normal file
@ -0,0 +1,29 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#ifndef APPLICATIONMANAGER1SERVICE_H
|
||||
#define APPLICATIONMANAGER1SERVICE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDBusObjectPath>
|
||||
#include <QDBusUnixFileDescriptor>
|
||||
|
||||
class ApplicationManager1Service : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ApplicationManager1Service(QObject *parent = nullptr);
|
||||
virtual ~ApplicationManager1Service();
|
||||
|
||||
public:
|
||||
Q_PROPERTY(QList<QDBusObjectPath> List READ list)
|
||||
QList<QDBusObjectPath> list() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
QDBusObjectPath Application(const QString &id);
|
||||
QString Identify(const QDBusUnixFileDescriptor &pidfd, QDBusObjectPath &application, QDBusObjectPath &application_instance);
|
||||
QDBusObjectPath Launch(const QString &id, const QString &action, const QStringList &fields, const QVariantMap &options);
|
||||
};
|
||||
|
||||
#endif
|
18
src/dbus/applicationservice.cpp
Normal file
18
src/dbus/applicationservice.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#include "applicationservice.h"
|
||||
|
||||
ApplicationService::ApplicationService(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
ApplicationService::~ApplicationService() {}
|
||||
|
||||
QDBusObjectPath ApplicationService::Launch(const QString &action, const QStringList &fields, const QVariantMap &options)
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
22
src/dbus/applicationservice.h
Normal file
22
src/dbus/applicationservice.h
Normal file
@ -0,0 +1,22 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#ifndef APPLICATIONSERVICE_H
|
||||
#define APPLICATIONSERVICE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDBusObjectPath>
|
||||
|
||||
class ApplicationService : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ApplicationService(QObject *parent = nullptr);
|
||||
virtual ~ApplicationService();
|
||||
|
||||
public Q_SLOTS:
|
||||
QDBusObjectPath Launch(const QString &action, const QStringList &fields, const QVariantMap &options);
|
||||
};
|
||||
|
||||
#endif
|
24
src/dbus/instanceservice.cpp
Normal file
24
src/dbus/instanceservice.cpp
Normal file
@ -0,0 +1,24 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#include "instanceservice.h"
|
||||
|
||||
InstanceService::InstanceService(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
InstanceService::~InstanceService() {}
|
||||
|
||||
QDBusObjectPath InstanceService::application() const
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
||||
|
||||
QDBusObjectPath InstanceService::systemdUnitPath() const
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
26
src/dbus/instanceservice.h
Normal file
26
src/dbus/instanceservice.h
Normal file
@ -0,0 +1,26 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#ifndef INSTANCESERVICE_H
|
||||
#define INSTANCESERVICE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDBusObjectPath>
|
||||
|
||||
class InstanceService : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit InstanceService(QObject *parent = nullptr);
|
||||
virtual ~InstanceService();
|
||||
|
||||
public:
|
||||
Q_PROPERTY(QDBusObjectPath Application READ application)
|
||||
QDBusObjectPath application() const;
|
||||
|
||||
Q_PROPERTY(QDBusObjectPath SystemdUnitPath READ systemdUnitPath)
|
||||
QDBusObjectPath systemdUnitPath() const;
|
||||
};
|
||||
|
||||
#endif
|
12
src/dbus/jobmanager1service.cpp
Normal file
12
src/dbus/jobmanager1service.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#include "jobmanager1service.h"
|
||||
|
||||
JobManager1Service::JobManager1Service(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
JobManager1Service::~JobManager1Service() {}
|
23
src/dbus/jobmanager1service.h
Normal file
23
src/dbus/jobmanager1service.h
Normal file
@ -0,0 +1,23 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#ifndef JOBMANAGER1SERVICE_H
|
||||
#define JOBMANAGER1SERVICE_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDBusObjectPath>
|
||||
|
||||
class JobManager1Service : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit JobManager1Service(QObject *parent = nullptr);
|
||||
virtual ~JobManager1Service();
|
||||
|
||||
Q_SIGNALS:
|
||||
void JobNew(const QDBusObjectPath &job, const QDBusObjectPath &source);
|
||||
void JobRemoved(const QDBusObjectPath &job, const QString &status, const QString &message, const QDBusVariant &result);
|
||||
};
|
||||
|
||||
#endif
|
33
src/dbus/jobservice.cpp
Normal file
33
src/dbus/jobservice.cpp
Normal file
@ -0,0 +1,33 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#include "jobservice.h"
|
||||
|
||||
JobService::JobService(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
JobService::~JobService() {}
|
||||
|
||||
QString JobService::status() const
|
||||
{
|
||||
// TODO: impl
|
||||
return {};
|
||||
}
|
||||
|
||||
void JobService::Cancel()
|
||||
{
|
||||
// TODO: impl
|
||||
}
|
||||
|
||||
void JobService::Pause()
|
||||
{
|
||||
// TODO: impl
|
||||
}
|
||||
|
||||
void JobService::Resume()
|
||||
{
|
||||
// TODO: impl
|
||||
}
|
27
src/dbus/jobservice.h
Normal file
27
src/dbus/jobservice.h
Normal file
@ -0,0 +1,27 @@
|
||||
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
#ifndef JOBSERVICE_H
|
||||
#define JOBSERVICE_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class JobService : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit JobService(QObject *parent = nullptr);
|
||||
virtual ~JobService();
|
||||
|
||||
public:
|
||||
Q_PROPERTY(QString Status READ status)
|
||||
QString status() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void Cancel();
|
||||
void Pause();
|
||||
void Resume();
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user