#ifndef __K_GLOBAL_DATA_H__#define __K_GLOBAL_DATA_H__#include <iostream>#include <qstring.h>#include <Windows.h>#include <qmutex.h>class KGlobalData{public: class KAutoDestory { public: KAutoDestory() {} ~KAutoDestory(); }; static KGlobalData* getGlobalDataIntance(); ~KGlobalData(); void setMonitorDir(QString dir); QString getMonitorDir(); void setMonitorDir2(QString dir); QString getMonitorDir2(); void setFileNotifyChangeHandle(DWORD handle); DWORD getFileNotifyChangeHandle(); void setWatchSubTree(BOOL val); BOOL getWatchSubTree(); void setLogText(QString log); QString getLogText(); void setSearchText(QString text); QString getSearchText(); void setAttribute(bool val); bool getAttribute(); void setSize(bool val); bool getSize(); void setFilterEx(QString str); QString getFilterEx(); void setFilterIn(QString str); QString getFilterIn(); void setWatchFlag(bool val); bool getWatchFlag();private: KGlobalData(); KGlobalData(const KGlobalData& other) {} static KGlobalData* s_globalDataObj; static KAutoDestory m_autoDestory; QString m_monitorDir; QString m_monitorDir2; DWORD m_configHandle; QString m_log; BOOL m_subTree; bool m_attribute; bool m_size; QString m_searchText; QString m_filterEx; QString m_filterIn; bool m_watchFlag; QMutex m_mutex;};#endif // __K_GLOBAL_DATA_H__
#include "kglobaldata.h"#include <qdebug.h>KGlobalData* KGlobalData::s_globalDataObj = NULL;KGlobalData::KAutoDestory KGlobalData::m_autoDestory;KGlobalData* KGlobalData::getGlobalDataIntance(){ if (s_globalDataObj == NULL) s_globalDataObj = new KGlobalData; return s_globalDataObj;}KGlobalData::KGlobalData() : m_monitorDir("") , m_monitorDir2("") , m_configHandle(0) , m_log("") , m_subTree(FALSE) , m_searchText("") , m_attribute(false) , m_size(NULL) , m_filterEx("") , m_filterIn("") , m_watchFlag(true){}KGlobalData::~KGlobalData(){}KGlobalData::KAutoDestory::~KAutoDestory(){ if (s_globalDataObj != NULL) { delete s_globalDataObj; s_globalDataObj = NULL; } }void KGlobalData::setMonitorDir(QString dir){ m_monitorDir = dir;}QString KGlobalData::getMonitorDir(){ return m_monitorDir;}void KGlobalData::setMonitorDir2(QString dir){ m_monitorDir2 = dir;}QString KGlobalData::getMonitorDir2(){ return m_monitorDir2;}void KGlobalData::setFileNotifyChangeHandle(DWORD handle){ m_configHandle += handle;}DWORD KGlobalData::getFileNotifyChangeHandle(){ return m_configHandle;}void KGlobalData::setWatchSubTree(BOOL val){ m_subTree = val;}BOOL KGlobalData::getWatchSubTree(){ return m_subTree;}void KGlobalData::setLogText(QString log){ m_mutex.lock(); m_log = log; m_mutex.unlock();}QString KGlobalData::getLogText(){ return m_log;}void KGlobalData::setSearchText(QString text){ m_searchText = text;}QString KGlobalData::getSearchText(){ return m_searchText;}void KGlobalData::setAttribute(bool val){ m_attribute = val;}bool KGlobalData::getAttribute(){ return m_attribute;}void KGlobalData::setSize(bool val){ m_size = val;}bool KGlobalData::getSize(){ return m_size;}void KGlobalData::setFilterEx(QString str){ m_filterEx = str;}QString KGlobalData::getFilterEx(){ return m_filterEx;}void KGlobalData::setFilterIn(QString str){ m_filterIn = str;}QString KGlobalData::getFilterIn(){ return m_filterIn;}void KGlobalData::setWatchFlag(bool val){ m_watchFlag = val;}bool KGlobalData::getWatchFlag(){ return m_watchFlag;}