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.
nmWATI/Include/iBase/iProperty/ZxPtyFileManager.h

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;
};