本文整理汇总了C++中Profile::addProfile方法的典型用法代码示例。如果您正苦于以下问题:C++ Profile::addProfile方法的具体用法?C++ Profile::addProfile怎么用?C++ Profile::addProfile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Profile
的用法示例。
在下文中一共展示了Profile::addProfile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
Profile *Profiles::processProfile(Profile *parent, pugi::xml_node config)
{
std::string name = config.attribute("name").value();
if (name.empty()) {
throw std::runtime_error("Missing profile name");
}
/* Create new profile */
Profile *profile = new Profile(name);
profile->setParent(parent);
profile->setNode(config);
pugi::xpath_node_set profiles = config.select_nodes("profile");
pugi::xpath_node_set channels = config.select_nodes("channel");
for (auto& node: channels) {
Channel *channel = processChannel(profile, node.node());
profile->addChannel(channel, true);
}
for (auto& node: profiles) {
Profile *child = processProfile(profile, node.node());
profile->addProfile(child, true);
}
return profile;
}
示例2: nameToParentProfile
Profile *Profiles::addProfile(std::string profile)
{
Profile *newProfile{nullptr};
Profile *parent = nameToParentProfile(profile);
if (parent != nullptr) {
std::string name = nameFromPath(profile);
newProfile = new Profile(name);
parent->addProfile(newProfile);
}
return newProfile;
}