1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/*!
@file
@author Albert Semenov
@date 07/2012
*/
#include "Precompiled.h"
#include "DataType.h"
namespace tools
{
DataType::DataType()
{
}
DataType::~DataType()
{
}
void DataType::deserialization(pugi::xml_node _node)
{
mName = _node.select_single_node("Name").node().child_value();
mFriend = _node.select_single_node("Friend").node().child_value();
pugi::xpath_node_set childs = _node.select_nodes("Childs/Child/Type");
for (pugi::xpath_node_set::const_iterator child = childs.begin(); child != childs.end(); child ++)
mChilds.push_back((*child).node().child_value());
pugi::xpath_node_set properties = _node.select_nodes("Properties/Property");
for (pugi::xpath_node_set::const_iterator property = properties.begin(); property != properties.end(); property ++)
{
DataTypePropertyPtr info(new DataTypeProperty());
info->deserialization((*property).node());
mProperties.push_back(info);
}
}
const std::string& DataType::getName() const
{
return mName;
}
const std::string& DataType::getFriend() const
{
return mFriend;
}
const DataType::VectorString& DataType::getChilds() const
{
return mChilds;
}
const DataType::VectorProperty& DataType::getProperties() const
{
return mProperties;
}
bool DataType::isChild(const std::string& _child) const
{
for (VectorString::const_iterator child = mChilds.begin(); child != mChilds.end(); child ++)
{
if ((*child) == _child)
return true;
}
return false;
}
}
|