本文整理汇总了C++中NF_SHARE_PTR::GetCache方法的典型用法代码示例。如果您正苦于以下问题:C++ NF_SHARE_PTR::GetCache方法的具体用法?C++ NF_SHARE_PTR::GetCache怎么用?C++ NF_SHARE_PTR::GetCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NF_SHARE_PTR
的用法示例。
在下文中一共展示了NF_SHARE_PTR::GetCache方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pRecordManager
NF_SHARE_PTR<NFIRecordManager> NFCCommonRedisModule::NewRecordManager(const std::string& strClassName)
{
NF_SHARE_PTR<NFIRecordManager> pStaticClassRecordManager = m_pLogicClassModule->GetClassRecordManager(strClassName);
if (pStaticClassRecordManager)
{
NFGUID ident;
NF_SHARE_PTR<NFIRecordManager> pRecordManager(NF_NEW NFCRecordManager(ident));
NF_SHARE_PTR<NFIRecord> pConfigRecordInfo = pStaticClassRecordManager->First();
while (pConfigRecordInfo)
{
if (pConfigRecordInfo->GetSave() || pConfigRecordInfo->GetCache())
{
NF_SHARE_PTR<NFIRecord> xRecord = pRecordManager->AddRecord(ident,
pConfigRecordInfo->GetName(),
pConfigRecordInfo->GetInitData(),
pConfigRecordInfo->GetTag(),
pConfigRecordInfo->GetRows());
xRecord->SetPublic(pConfigRecordInfo->GetPublic());
xRecord->SetPrivate(pConfigRecordInfo->GetPrivate());
xRecord->SetSave(pConfigRecordInfo->GetSave());
xRecord->SetCache(pConfigRecordInfo->GetCache());
}
pConfigRecordInfo = pStaticClassRecordManager->Next();
}
return pRecordManager;
}
return NF_SHARE_PTR<NFIRecordManager>(NULL);
}
示例2: pPropertyManager
NF_SHARE_PTR<NFIPropertyManager> NFCCommonRedisModule::NewPropertyManager(const std::string& strClassName)
{
NF_SHARE_PTR<NFIPropertyManager> pStaticClassPropertyManager = m_pLogicClassModule->GetClassPropertyManager(strClassName);
if (pStaticClassPropertyManager)
{
NFGUID ident;
NF_SHARE_PTR<NFIPropertyManager> pPropertyManager(NF_NEW NFCPropertyManager(ident));
NF_SHARE_PTR<NFIProperty> pStaticConfigPropertyInfo = pStaticClassPropertyManager->First();
while (pStaticConfigPropertyInfo)
{
if (pStaticConfigPropertyInfo->GetSave() || pStaticConfigPropertyInfo->GetCache())
{
NF_SHARE_PTR<NFIProperty> xProperty = pPropertyManager->AddProperty(ident, pStaticConfigPropertyInfo->GetKey(), pStaticConfigPropertyInfo->GetType());
xProperty->SetPublic(pStaticConfigPropertyInfo->GetPublic());
xProperty->SetPrivate(pStaticConfigPropertyInfo->GetPrivate());
xProperty->SetSave(pStaticConfigPropertyInfo->GetSave());
xProperty->SetCache(pStaticConfigPropertyInfo->GetCache());
xProperty->SetRef(pStaticConfigPropertyInfo->GetRef());
}
pStaticConfigPropertyInfo = pStaticClassPropertyManager->Next();
}
return pPropertyManager;
}
return NF_SHARE_PTR<NFIPropertyManager>(NULL);
}
示例3: ConvertRecordManagerToPB
bool NFCCreateRoleModule::ConvertRecordManagerToPB(const NF_SHARE_PTR<NFIRecordManager>& pRecordManager, NFMsg::ObjectRecordList * pRecordDataList)
{
if (pRecordDataList == nullptr)
{
return false;
}
for (NF_SHARE_PTR<NFIRecord> pRecord = pRecordManager->First(); pRecord != NULL; pRecord = pRecordManager->Next())
{
if (!pRecord->GetCache() && !pRecord->GetSave())
{
continue;
}
NFMsg::ObjectRecordBase* pRecordData = pRecordDataList->add_record_list();
if (!pRecordData)
{
continue;
}
ConvertRecordToPB(pRecord, pRecordData);
}
return true;
}
示例4: ConvertRecordManagerToVector
bool NFCCommonRedisModule::ConvertRecordManagerToVector(NF_SHARE_PTR<NFIRecordManager> pRecordManager, std::vector<std::string>& vKeyList, std::vector<std::string>& vValueList)
{
for (NF_SHARE_PTR<NFIRecord> pRecord = pRecordManager->First(); pRecord != NULL; pRecord = pRecordManager->Next())
{
if (!pRecord->GetCache() && !pRecord->GetSave())
{
continue;
}
NFMsg::ObjectRecordBase xRecordData;
ConvertRecordToPB(pRecord, &xRecordData);
////
std::string strValue;
if (!xRecordData.SerializeToString(&strValue))
{
continue;
}
vKeyList.push_back(xRecordData.record_name());
vValueList.push_back(strValue);
}
return true;
}
示例5: ConvertVectorToRecordManager
bool NFCCommonRedisModule::ConvertVectorToRecordManager(std::vector<std::string>& vKeyList, std::vector<std::string>& vValueList, NF_SHARE_PTR<NFIRecordManager> pRecordManager)
{
if (vKeyList.size() == vValueList.size())
{
for (int i = 0; i < vKeyList.size(); ++i)
{
const std::string& strKey = vKeyList[i];
const std::string& strValue = vValueList[i];
if (strValue.empty())
{
continue;
}
NF_SHARE_PTR<NFIRecord> pRecord = pRecordManager->GetElement(strKey);
if (!pRecord->GetCache() && !pRecord->GetSave())
{
continue;
}
NFMsg::ObjectRecordBase xRecordData;
if (xRecordData.ParseFromString(strValue))
{
ConvertPBToRecord(xRecordData, pRecord);
}
else
{
//TODO
//error
}
}
}
return true;
}
示例6: ConvertVectorToPropertyManager
bool NFCCommonRedisModule::ConvertVectorToPropertyManager(std::vector<std::string>& vKeyList, std::vector<std::string>& vValueList, NF_SHARE_PTR<NFIPropertyManager> pPropertyManager)
{
if (vKeyList.size() == vValueList.size())
{
for (int i = 0; i < vKeyList.size(); ++i)
{
const std::string& strKey = vKeyList[i];
const std::string& strValue = vValueList[i];
if (strValue.empty())
{
continue;
}
NF_SHARE_PTR<NFIProperty> pProperty = pPropertyManager->GetElement(strKey);
if (!pProperty->GetCache() && !pProperty->GetSave())
{
continue;
}
if(!pProperty->FromString(strValue))
{
//TODO
//error
}
}
}
return true;
}
示例7: NewPropertyManager
NF_SHARE_PTR<NFIPropertyManager> NFCCommonRedisModule::GetPropertyInfo(const NFGUID& self, const std::string& strClassName, std::vector<std::string>& vKeyCacheList, std::vector<std::string>& vValueCacheList)
{
//TODO optimize
NF_SHARE_PTR<NFIPropertyManager> pPropertyManager = NewPropertyManager(strClassName);
if (!pPropertyManager)
{
return nullptr;
}
NF_SHARE_PTR<NFIRedisClient> pDriver = m_pNoSqlModule->GetDriverBySuit(self.ToString());
if (!pDriver)
{
return nullptr;
}
//TODO
//just run this function one time
NF_SHARE_PTR<NFIProperty> xProperty = pPropertyManager->First();
while (xProperty)
{
if (xProperty->GetCache() || xProperty->GetSave())
{
vKeyCacheList.push_back(xProperty->GetKey());
}
xProperty = pPropertyManager->Next();
}
//cache
std::string strCacheKey = GetPropertyCacheKey(self);
if (!pDriver->HMGET(strCacheKey, vKeyCacheList, vValueCacheList))
{
return nullptr;
}
if (vKeyCacheList.size() == vValueCacheList.size())
{
ConvertVectorToPropertyManager(vKeyCacheList, vValueCacheList, pPropertyManager);
return pPropertyManager;
}
return nullptr;
}
示例8: pNewProperty
NF_SHARE_PTR<NFIProperty> NFCPropertyManager::AddProperty(const NFGUID& self, NF_SHARE_PTR<NFIProperty> pProperty)
{
const std::string& strProperty = pProperty->GetKey();
NF_SHARE_PTR<NFIProperty> pOldProperty = this->GetElement(strProperty);
if (!pOldProperty.get())
{
NF_SHARE_PTR<NFIProperty> pNewProperty(NF_NEW NFCProperty(self, strProperty, pProperty->GetType()));
pNewProperty->SetPublic(pProperty->GetPublic());
pNewProperty->SetPrivate(pProperty->GetPrivate());
pNewProperty->SetSave(pProperty->GetSave());
pNewProperty->SetCache(pProperty->GetCache());
pNewProperty->SetRelationValue(pProperty->GetRelationValue());
this->AddElement(strProperty, pNewProperty);
}
return pOldProperty;
}
示例9: ConvertPropertyManagerToVector
bool NFCCommonRedisModule::ConvertPropertyManagerToVector(NF_SHARE_PTR<NFIPropertyManager> pPropertyManager, std::vector<std::string>& vKeyList, std::vector<std::string>& vValueList)
{
for (NF_SHARE_PTR<NFIProperty> pProperty = pPropertyManager->First(); pProperty != NULL; pProperty = pPropertyManager->Next())
{
const int nType = pProperty->GetType();
if (!pProperty->GetCache() && !pProperty->GetSave())
{
continue;
}
const std::string& strPropertyName = pProperty->GetKey();
const std::string& strPropertyValue = pProperty->ToString();
vKeyList.push_back(strPropertyName);
vValueList.push_back(strPropertyValue);
}
return true;
}
示例10: NewRecordManager
NF_SHARE_PTR<NFIRecordManager> NFCCommonRedisModule::GetRecordInfo(const NFGUID& self, const std::string& strClassName, std::vector<std::string>& vKeyCacheList, std::vector<std::string>& vValueCacheList)
{
NF_SHARE_PTR<NFIRecordManager> pRecordManager = NewRecordManager(strClassName);
if (!pRecordManager.get())
{
return nullptr;
}
NF_SHARE_PTR<NFIRedisClient> pDriver = m_pNoSqlModule->GetDriverBySuit(self.ToString());
if (!pDriver)
{
return nullptr;
}
//TODO
//just run this function one time
NF_SHARE_PTR<NFIRecord> xRecord = pRecordManager->First();
while (xRecord)
{
if (xRecord->GetCache() || xRecord->GetSave())
{
vKeyCacheList.push_back(xRecord->GetName());
}
xRecord = pRecordManager->Next();
}
//cache
std::string strCacheKey = GetRecordCacheKey(self);
if (!pDriver->HMGET(strCacheKey, vKeyCacheList, vValueCacheList))
{
return nullptr;
}
if (vKeyCacheList.size() == vValueCacheList.size())
{
ConvertVectorToRecordManager(vKeyCacheList, vValueCacheList, pRecordManager);
return pRecordManager;
}
return nullptr;
}
示例11: Load
bool NFCElementModule::Load(rapidxml::xml_node<>* attrNode, NF_SHARE_PTR<NFIClass> pLogicClass)
{
//attrNode is the node of a object
std::string strConfigID = attrNode->first_attribute("Id")->value();
if (strConfigID.empty())
{
NFASSERT(0, strConfigID, __FILE__, __FUNCTION__);
return false;
}
if (ExistElement(strConfigID))
{
NFASSERT(0, strConfigID, __FILE__, __FUNCTION__);
return false;
}
NF_SHARE_PTR<ElementConfigInfo> pElementInfo(NF_NEW ElementConfigInfo());
AddElement(strConfigID, pElementInfo);
//can find all configid by class name
pLogicClass->AddConfigName(strConfigID);
//ElementConfigInfo* pElementInfo = CreateElement( strConfigID, pElementInfo );
NF_SHARE_PTR<NFIPropertyManager> pElementPropertyManager = pElementInfo->GetPropertyManager();
NF_SHARE_PTR<NFIRecordManager> pElementRecordManager = pElementInfo->GetRecordManager();
//1.add property
//2.set the default value of them
NF_SHARE_PTR<NFIPropertyManager> pClassPropertyManager = pLogicClass->GetPropertyManager();
NF_SHARE_PTR<NFIRecordManager> pClassRecordManager = pLogicClass->GetRecordManager();
if (pClassPropertyManager.get() && pClassRecordManager.get())
{
NF_SHARE_PTR<NFIProperty> pProperty = pClassPropertyManager->First();
while (pProperty.get())
{
pElementPropertyManager->AddProperty(NFGUID(), pProperty);
pProperty = pClassPropertyManager->Next();
}
NF_SHARE_PTR<NFIRecord> pRecord = pClassRecordManager->First();
while (pRecord.get())
{
NF_SHARE_PTR<NFIRecord> xRecord = pElementRecordManager->AddRecord(NFGUID(), pRecord->GetName(), pRecord->GetInitData(), pRecord->GetTag(), pRecord->GetRows());
xRecord->SetPublic(pRecord->GetPublic());
xRecord->SetPrivate(pRecord->GetPrivate());
xRecord->SetSave(pRecord->GetSave());
xRecord->SetCache(pRecord->GetCache());
pRecord = pClassRecordManager->Next();
}
}
//3.set the config value to them
//const char* pstrConfigID = attrNode->first_attribute( "ID" );
for (rapidxml::xml_attribute<>* pAttribute = attrNode->first_attribute(); pAttribute; pAttribute = pAttribute->next_attribute())
{
const char* pstrConfigName = pAttribute->name();
const char* pstrConfigValue = pAttribute->value();
//printf( "%s : %s\n", pstrConfigName, pstrConfigValue );
NF_SHARE_PTR<NFIProperty> temProperty = pElementPropertyManager->GetElement(pstrConfigName);
if (!temProperty)
{
continue;
}
NFIDataList::TData var;
const TDATA_TYPE eType = temProperty->GetType();
switch (eType)
{
case TDATA_INT:
{
if (!LegalNumber(pstrConfigValue))
{
NFASSERT(0, temProperty->GetKey(), __FILE__, __FUNCTION__);
}
var.SetInt(lexical_cast<NFINT64>(pstrConfigValue));
}
break;
case TDATA_FLOAT:
{
if (strlen(pstrConfigValue) <= 0)
{
NFASSERT(0, temProperty->GetKey(), __FILE__, __FUNCTION__);
}
var.SetFloat((double)atof(pstrConfigValue));
}
break;
case TDATA_STRING:
{
var.SetString(pstrConfigValue);
}
break;
case TDATA_OBJECT:
{
//.........这里部分代码省略.........
示例12: ConvertPropertyManagerToPB
bool NFCCreateRoleModule::ConvertPropertyManagerToPB(const NF_SHARE_PTR<NFIPropertyManager>& pProps, NFMsg::ObjectPropertyList * pPropertyData)
{
if (pProps)
{
NF_SHARE_PTR<NFIProperty> xPropert = pProps->First();
while (xPropert)
{
if (xPropert->GetCache() || xPropert->GetSave())
{
switch (xPropert->GetType())
{
case NFDATA_TYPE::TDATA_INT:
{
NFMsg::PropertyInt* pData = pPropertyData->add_property_int_list();
pData->set_property_name(xPropert->GetKey());
pData->set_data(xPropert->GetInt());
}
break;
case NFDATA_TYPE::TDATA_FLOAT:
{
NFMsg::PropertyFloat* pData = pPropertyData->add_property_float_list();
pData->set_property_name(xPropert->GetKey());
pData->set_data(xPropert->GetFloat());
}
break;
case NFDATA_TYPE::TDATA_OBJECT:
{
NFMsg::PropertyObject* pData = pPropertyData->add_property_object_list();
pData->set_property_name(xPropert->GetKey());
*(pData->mutable_data()) = NFINetModule::NFToPB(xPropert->GetObject());
}
break;
case NFDATA_TYPE::TDATA_STRING:
{
NFMsg::PropertyString* pData = pPropertyData->add_property_string_list();
pData->set_property_name(xPropert->GetKey());
pData->set_data(xPropert->GetString());
std::cout << xPropert->GetKey() << " " << xPropert->GetString() << std::endl;
}
break;
case NFDATA_TYPE::TDATA_VECTOR2:
{
NFMsg::PropertyVector2* pData = pPropertyData->add_property_vector2_list();
pData->set_property_name(xPropert->GetKey());
*(pData->mutable_data()) = NFINetModule::NFToPB(xPropert->GetVector2());
}
break;
case NFDATA_TYPE::TDATA_VECTOR3:
{
NFMsg::PropertyVector3* pData = pPropertyData->add_property_vector3_list();
pData->set_property_name(xPropert->GetKey());
*(pData->mutable_data()) = NFINetModule::NFToPB(xPropert->GetVector3());
}
break;
default:
break;
}
}
xPropert = pProps->Next();
}
}
return false;
}