You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
dp4-uos/example/service/servicebase.h

54 lines
1.1 KiB

// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef SERVICEBASE_H
#define SERVICEBASE_H
#include "policy.h"
#include <QDBusConnection>
#include <QObject>
typedef void *(*ServiceObject)(const char *path, const int len);
typedef int (*DSMRegister)(const char *name, void *data);
typedef int (*DSMUnRegister)(const char *name, void *data);
class QTimer;
class ServiceBase : public QObject
{
Q_OBJECT
public:
explicit ServiceBase(QObject *parent = nullptr);
virtual ~ServiceBase();
bool isRegister() const;
bool isLockTimer() const;
virtual bool registerService();
virtual bool unregisterService();
Q_SIGNALS:
void idleSignal();
public Q_SLOTS:
void init(const QDBusConnection::BusType &busType, Policy *p);
void restartTimer();
protected:
virtual void initService();
virtual void initThread();
public:
Policy *policy;
protected:
bool m_isRegister;
bool m_isLockTimer;
QDBusConnection::BusType m_sessionType;
SDKType m_SDKType; // qdbus、sdbus
QTimer *m_timer;
};
#endif // SERVICEBASE_H