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)
|
set(DBUS_INTERFACE_DIR ${CMAKE_CURRENT_LIST_DIR}/dbus)
|
||||||
|
|
||||||
function(generation_dbus_interface xml class_name class_file)
|
set(DBUSADAPTORS "")
|
||||||
execute_process(COMMAND ${DTK_XML2CPP} -c ${class_name} -p ${class_file} ${xml}
|
file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_LIST_DIR}/*.cpp ${CMAKE_CURRENT_LIST_DIR}/*.h)
|
||||||
WORKING_DIRECTORY ${DBUS_INTERFACE_DIR})
|
|
||||||
endfunction(generation_dbus_interface)
|
|
||||||
|
|
||||||
set(DBUS "")
|
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.xml applicationmanager1service.h ApplicationManager1Service)
|
||||||
file(GLOB SRCS ${CMAKE_CURRENT_LIST_DIR}/*.cpp)
|
qt_add_dbus_adaptor(DBUSADAPTORS ${PROJECT_SOURCE_DIR}/api/dbus/org.desktopspec.ApplicationManager1.Application.xml applicationservice.h ApplicationService)
|
||||||
file(GLOB HEADERS ${CMAKE_CURRENT_LIST_DIR}/include/*)
|
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)
|
add_executable(${BIN_NAME} ${DBUSADAPTORS} ${SRCS})
|
||||||
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})
|
|
||||||
|
|
||||||
target_include_directories(${BIN_NAME} PRIVATE
|
target_include_directories(${BIN_NAME} PRIVATE
|
||||||
${CMAKE_CURRENT_LIST_DIR}/include
|
${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
|
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…
x
Reference in New Issue
Block a user