You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
944 B
C++
53 lines
944 B
C++
#include <QList>
|
|
#include <QObject>
|
|
#include <QMap>
|
|
#include "iProperty_global.h"
|
|
|
|
class ZxPathIndexer;
|
|
class ZxPtyAttributeFile;
|
|
|
|
// 属性配置文件管理载体
|
|
class I_PROPERTY_EXPORT ZxPtyFileManager
|
|
: public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
/// @brief 单例模式
|
|
static ZxPtyFileManager* getInstance();
|
|
|
|
ZxPtyFileManager();
|
|
~ZxPtyFileManager();
|
|
|
|
/// @brief 获取指定的属性表配置
|
|
ZxPtyAttributeFile* getAttributeFile(const QString& sTag, \
|
|
QString sFile = "", \
|
|
bool bForceReload = false);
|
|
|
|
ZxPtyAttributeFile* getEmptyConfig();
|
|
|
|
// 加载+保存
|
|
void reload();
|
|
bool save();
|
|
|
|
signals:
|
|
|
|
void preReload();
|
|
void reloaded();
|
|
|
|
private:
|
|
|
|
void preparePathIndexer();
|
|
|
|
private:
|
|
|
|
QMap<QString, ZxPtyAttributeFile*> m_mapPtyFiles;
|
|
ZxPathIndexer* m_pPathIndexer;
|
|
ZxPtyAttributeFile* m_pEmptyConfig;
|
|
};
|
|
|
|
|
|
|
|
|