本文整理汇总了C++中DataTree::setV方法的典型用法代码示例。如果您正苦于以下问题:C++ DataTree::setV方法的具体用法?C++ DataTree::setV怎么用?C++ DataTree::setV使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataTree
的用法示例。
在下文中一共展示了DataTree::setV方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
bool LocalMachine::init()
{
if(m_initialized)
return true;
NotificationsManager::instance()->notify(_S("Initializing local machine..."));
OS_ASSERT(m_id.empty());
String filePath = utils::makeFilePath(Options::instance()->getDataPath(), FILENAME);
DataTree dt;
if(dt.load(filePath))
{
m_publicKey = dt.getV(PUBLIC_KEY);
m_privateKey = dt.getV(PRIVATE_KEY);
if(CryptManager::instance()->rsaCheckKeys(m_privateKey, m_publicKey))
{
// Carica l'id della macchina dopo aver verificato la validit delle chiavi
m_id = dt.getV(ID);
// Verifica che l'id sia stato archiviato correttamente
if(validate() == false)
m_id.clear();
}
}
if(m_id.empty())
{
m_privateKey.clear();
m_publicKey.clear();
if(CryptManager::instance()->rsaGenerateKeys(rsaType4096, m_privateKey, m_publicKey) == false)
return false;
// L'ID della macchina dato dall'hash della chiave pubblica
m_id = P2PSystem::instance()->generateMachineID(m_publicKey);
dt.setV(ID, m_id);
dt.setV(PUBLIC_KEY, m_publicKey);
dt.setV(PRIVATE_KEY, m_privateKey);
if(dt.save(filePath) == false)
return false;
}
m_initialized = true;
return true;
}