85 lines
1.4 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNObject.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-01-08
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include <QObject>
#include <QVariant>
#include <QtXml/QDomDocument>
#include "XNCore_global.h"
#include "XNLogger.h"
class XNObjectPrivate;
/**
* @brief
*/
class XNCORE_EXPORT XNObject : public QObject
{
/**
* @brief Qt的元对象系统
*/
Q_OBJECT
/**
* @brief
*/
Q_DISABLE_COPY(XNObject)
/**
* @brief
*/
Q_DECLARE_PRIVATE(XNObject)
/**
* @brief uniqueId
*/
Q_PROPERTY(quint32 UniqueId READ getUniqueId WRITE setUniqueId)
public:
/**
* @brief
* @param parent
*/
explicit XNObject(QObject *parent = nullptr);
/**
* @brief
*/
virtual ~XNObject();
/**
* @brief ID
* @return ID
*/
quint32 getUniqueId();
/**
* @brief ID
* @param uniqueId ID
*/
void setUniqueId(const quint32 &uniqueId);
protected:
/**
* @brief
* @param dd
* @param parent
*/
XNObject(XNObjectPrivate &dd, QObject *parent = nullptr);
protected:
/**
* @brief
*/
XNObjectPrivate *d_ptr;
};