50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
|
|
#include "dataSyncManager.h"
|
||
|
|
#include "sqlQueryExecutor.h"
|
||
|
|
|
||
|
|
DataSyncManager& DataSyncManager::instance()
|
||
|
|
{
|
||
|
|
//采用静态局部变量的方式,静态局部变量的初始化是在第一次访问时,以后的调用不会多次初始化,并且生命周期和程序一致
|
||
|
|
static DataSyncManager instance;
|
||
|
|
return instance;
|
||
|
|
}
|
||
|
|
|
||
|
|
DataSyncManager::DataSyncManager()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
DataSyncManager::~DataSyncManager()
|
||
|
|
{}
|
||
|
|
|
||
|
|
|
||
|
|
void DataSyncManager::registerPublicGroup(const QString& connection)
|
||
|
|
{
|
||
|
|
m_publicGroups.clear();
|
||
|
|
const QVector<AttributeGroup> groups = SqlQueryExecutor::instance().getAttributeGroup(connection);
|
||
|
|
for(const AttributeGroup& group : groups)
|
||
|
|
{
|
||
|
|
if(group.isPublic)
|
||
|
|
m_publicGroups.insert(group.id, group);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
AttributeGroup DataSyncManager::getGroup(int groupID)
|
||
|
|
{
|
||
|
|
AttributeGroup group ;
|
||
|
|
if(m_publicGroups.contains(groupID))
|
||
|
|
group = m_publicGroups.value(groupID);
|
||
|
|
return group;
|
||
|
|
}
|
||
|
|
|
||
|
|
void DataSyncManager::syncGroupVersion(int groupID, int version)
|
||
|
|
{
|
||
|
|
if(m_publicGroups.contains(groupID))
|
||
|
|
m_publicGroups[groupID].version = version;
|
||
|
|
}
|
||
|
|
|
||
|
|
int DataSyncManager::getGropuVersion(int groupID)
|
||
|
|
{
|
||
|
|
int version = 0;
|
||
|
|
if(m_publicGroups.contains(groupID))
|
||
|
|
version = m_publicGroups.value(groupID).version;
|
||
|
|
return version;
|
||
|
|
}
|