本文整理汇总了C++中createPTree函数的典型用法代码示例。如果您正苦于以下问题:C++ createPTree函数的具体用法?C++ createPTree怎么用?C++ createPTree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createPTree函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: createPTree
void CEnvGen::addUpdateAttributesFromString(IPropertyTree *updateTree, const char *attrs)
{
StringArray saAttrs;
saAttrs.appendList(attrs, ATTR_SEP);
//printf("attribute: %s\n",attrs);
IPropertyTree *pAttrs = updateTree->addPropTree("Attributes", createPTree("Attributes"));
for ( unsigned i = 0; i < saAttrs.ordinality() ; i++)
{
IPropertyTree *pAttr = pAttrs->addPropTree("Attribute", createPTree("Attribute"));
StringArray keyValues;
keyValues.appendList(saAttrs[i], "=");
pAttr->addProp("@name", keyValues[0]);
StringBuffer sbValue;
sbValue.clear().appendf("%s", keyValues[1]);
sbValue.replaceString("[equal]", "=");
StringArray newOldValues;
if (strcmp(keyValues[1], ""))
{
newOldValues.appendList(sbValue.str(), ATTR_V_SEP);
pAttr->addProp("@value", newOldValues[0]);
if (newOldValues.ordinality() > 1) pAttr->addProp("@oldValue", newOldValues[1]);
}
else
pAttr->addProp("@value", "");
}
}
开发者ID:AttilaVamos,项目名称:HPCC-Platform,代码行数:30,代码来源:EnvGen.cpp
示例2: saveSubGraphs
void LogicalGraphCreator::beginSubGraph(const char * label, bool nested)
{
savedGraphId.append(subGraphId);
if (!nested)
saveSubGraphs();
if ((subGraphs.ordinality() == 0) && rootSubGraph)
{
subGraphs.append(*LINK(rootSubGraph));
subGraphId = rootGraphId;
return;
}
subGraphId = ++seq;
IPropertyTree * node = createPTree("node");
node = curSubGraph()->addPropTree("node", node);
node->setPropInt64("@id", subGraphId);
IPropertyTree * graphAttr = node->addPropTree("att", createPTree("att"));
IPropertyTree * subGraph = graphAttr->addPropTree("graph", createPTree("graph"));
subGraphs.append(*LINK(subGraph));
if (!rootSubGraph)
{
rootSubGraph.set(subGraph);
rootGraphId = subGraphId;
}
}
开发者ID:AlexLuya,项目名称:HPCC-Platform,代码行数:27,代码来源:hqlgraph.cpp
示例3: ensureManifestInfo
void ResourceManager::addWebServiceInfo(IPropertyTree *wsinfo)
{
//convert legacy web service info to the new resource format
if (wsinfo)
{
if (wsinfo->hasProp("SOAP"))
ensureManifestInfo()->addProp("WS-PARAMS", wsinfo->queryProp("SOAP"));
if (wsinfo->hasProp("HELP"))
{
const char *content = wsinfo->queryProp("HELP");
addCompress("HELP", strlen(content)+1, content);
}
if (wsinfo->hasProp("INFO"))
{
const char *content = wsinfo->queryProp("INFO");
addCompress("INFO", strlen(content)+1, content);
}
if (wsinfo->hasProp("OTX"))
{
const char *content = wsinfo->queryProp("OTX");
addCompress("HYPER-LINK", strlen(content)+1, content);
}
if (wsinfo->hasProp("HTML"))
{
const char *content = wsinfo->queryProp("HTML");
Owned<IPropertyTree> manifestEntry = createPTree("Resource");
manifestEntry->setProp("@name", "Custom Form");
addCompress("XSLT", strlen(content)+1, content, manifestEntry);
IPropertyTree *view = ensurePTree(ensureManifestInfo(), "Views/XSLT/FORM");
view->setProp("@resource", "Custom Form");
}
if (wsinfo->hasProp("HTMLD"))
{
const char *content = wsinfo->queryProp("HTMLD");
Owned<IPropertyTree> manifestEntry = createPTree("Resource");
manifestEntry->setProp("@name", "Custom HTML");
addCompress("HTML", strlen(content)+1, content, manifestEntry);
IPropertyTree *view = ensurePTree(ensureManifestInfo(), "Views/HTML/FORM");
view->setProp("@resource", "Custom HTML");
}
if (wsinfo->hasProp("RESULT"))
{
const char *content = wsinfo->queryProp("RESULT");
Owned<IPropertyTree> manifestEntry = createPTree("Resource");
manifestEntry->setProp("@name", "Results");
addCompress("XSLT", strlen(content)+1, content, manifestEntry);
IPropertyTree *view = ensurePTree(ensureManifestInfo(), "Views/XSLT/RESULTS");
view->setProp("@resource", "Results");
}
if (wsinfo->hasProp("ERROR"))
{
const char *content = wsinfo->queryProp("ERROR");
Owned<IPropertyTree> manifestEntry = createPTree("Resource");
manifestEntry->setProp("@name", "Error");
addCompress("XSLT", strlen(content)+1, content, manifestEntry);
IPropertyTree *view = ensurePTree(ensureManifestInfo(), "Views/XSLT/ERROR");
view->setProp("@resource", "Error");
}
}
}
开发者ID:hhy5277,项目名称:HPCC-Platform,代码行数:60,代码来源:hqlres.cpp
示例4: ForEachChild
ForEachChild(i, record)
{
IHqlExpression * cur = record->queryChild(i);
switch (cur->getOperator())
{
case no_record:
//MORE: If this is a public symbol it should be expanded, otherwise it will be elsewhere.
expandRecordSymbolsMeta(metaTree, cur);
break;
case no_field:
{
IPropertyTree * field = metaTree->addPropTree("Field", createPTree("Field"));
field->setProp("@name", cur->queryName()->str());
StringBuffer ecltype;
cur->queryType()->getECLType(ecltype);
field->setProp("@type", ecltype);
break;
}
case no_ifblock:
{
IPropertyTree * block = metaTree->addPropTree("IfBlock", createPTree("IfBlock"));
expandRecordSymbolsMeta(block, cur->queryChild(1));
break;
}
case no_attr:
case no_attr_link:
case no_attr_expr:
{
IPropertyTree * attr = metaTree->addPropTree("Attr", createPTree("Attr"));
attr->setProp("@name", cur->queryName()->str());
break;
}
}
}
开发者ID:DouglasDeciccoLN,项目名称:HPCC-Platform,代码行数:34,代码来源:hqldesc.cpp
示例5: doCreate
void doCreate(const char *partname, const char *xml, unsigned updateFlags, StringArray &filesNotFound)
{
createPart(partname, xml);
if (pmExisting)
{
if (!checkFlag(PKGADD_MAP_REPLACE))
throw MakeStringException(PKG_NAME_EXISTS, "PackageMap %s already exists, either delete it or specify overwrite", pmid.str());
}
cloneDfsInfo(updateFlags, filesNotFound);
if (pmExisting)
packageMaps->removeTree(pmExisting);
Owned<IPropertyTree> pmTree = createPTree("PackageMap", ipt_ordered);
pmTree->setProp("@id", pmid);
pmTree->setPropBool("@multipart", true);
pmTree->addPropTree("Part", pmPart.getClear());
packageMaps->addPropTree("PackageMap", pmTree.getClear());
VStringBuffer xpath("PackageMap[@id='%s'][@querySet='%s']", pmid.str(), target.get());
Owned<IPropertyTree> pkgSet = getPkgSetRegistry(process, false);
IPropertyTree *psEntry = pkgSet->queryPropTree(xpath);
if (!psEntry)
{
psEntry = pkgSet->addPropTree("PackageMap", createPTree("PackageMap"));
psEntry->setProp("@id", pmid);
psEntry->setProp("@querySet", target);
}
makePackageActive(pkgSet, psEntry, target, checkFlag(PKGADD_MAP_ACTIVATE));
}
开发者ID:Josh-Googler,项目名称:HPCC-Platform,代码行数:33,代码来源:ws_packageprocessService.cpp
示例6: done
virtual void done()
{
StringBuffer scopedName;
OwnedRoxieString outputName(helper->getOutputName());
queryThorFileManager().addScope(container.queryJob(), outputName, scopedName);
Owned<IWorkUnit> wu = &container.queryJob().queryWorkUnit().lock();
Owned<IWUResult> r = wu->updateResultBySequence(helper->getSequence());
r->setResultStatus(ResultStatusCalculated);
r->setResultLogicalName(scopedName.str());
r.clear();
wu.clear();
IPropertyTree &patchProps = patchDesc->queryProperties();
if (0 != (helper->getFlags() & KDPexpires))
setExpiryTime(patchProps, helper->getExpiryDays());
IPropertyTree &originalProps = originalDesc->queryProperties();;
if (originalProps.queryProp("ECL"))
patchProps.setProp("ECL", originalProps.queryProp("ECL"));
if (originalProps.getPropBool("@local"))
patchProps.setPropBool("@local", true);
container.queryTempHandler()->registerFile(outputName, container.queryOwner().queryGraphId(), 0, false, WUFileStandard, &clusters);
Owned<IDistributedFile> patchFile;
// set part sizes etc
queryThorFileManager().publish(container.queryJob(), outputName, false, *patchDesc, &patchFile, 0, false);
try { // set file size
if (patchFile) {
__int64 fs = patchFile->getFileSize(true,false);
if (fs!=-1)
patchFile->queryAttributes().setPropInt64("@size",fs);
}
}
catch (IException *e) {
EXCLOG(e,"keydiff setting file size");
e->Release();
}
// Add a new 'Patch' description to the secondary key.
DistributedFilePropertyLock lock(newIndexFile);
IPropertyTree &fileProps = lock.queryAttributes();
StringBuffer path("Patch[@name=\"");
path.append(scopedName.str()).append("\"]");
IPropertyTree *patch = fileProps.queryPropTree(path.str());
if (!patch) patch = fileProps.addPropTree("Patch", createPTree());
patch->setProp("@name", scopedName.str());
unsigned checkSum;
if (patchFile->getFileCheckSum(checkSum))
patch->setPropInt64("@checkSum", checkSum);
IPropertyTree *index = patch->setPropTree("Index", createPTree());
index->setProp("@name", originalIndexFile->queryLogicalName());
if (originalIndexFile->getFileCheckSum(checkSum))
index->setPropInt64("@checkSum", checkSum);
originalIndexFile->setAccessed();
newIndexFile->setAccessed();
}
开发者ID:eagle518,项目名称:HPCC-Platform,代码行数:54,代码来源:thkeydiff.cpp
示例7: encodeUtf8XML
void CEspBinding::getNavigationData(IEspContext &context, IPropertyTree & data)
{
IEspWsdlSections *wsdl = dynamic_cast<IEspWsdlSections *>(this);
if (wsdl)
{
StringBuffer serviceName, params;
wsdl->getServiceName(serviceName);
if (!getUrlParams(context.queryRequestParameters(), params))
{
if (context.getClientVersion()>0)
params.appendf("%cver_=%g", params.length()?'&':'?', context.getClientVersion());
}
StringBuffer encodedparams;
if (params.length())
encodeUtf8XML(params.str(), encodedparams, 0);
if (params.length())
params.setCharAt(0,'&'); //the entire params string will follow the initial param: "?form"
VStringBuffer folderpath("Folder[@name='%s']", serviceName.str());
IPropertyTree *folder = data.queryPropTree(folderpath.str());
if(!folder)
{
folder=createPTree("Folder");
folder->addProp("@name", serviceName.str());
folder->addProp("@info", serviceName.str());
folder->addProp("@urlParams", encodedparams);
if (showSchemaLinks())
folder->addProp("@showSchemaLinks", "true");
folder->addPropBool("@isDynamicBinding", isDynamicBinding());
folder->addPropBool("@isBound", isBound());
data.addPropTree("Folder", folder);
}
MethodInfoArray methods;
wsdl->getQualifiedNames(context, methods);
ForEachItemIn(idx, methods)
{
CMethodInfo &method = methods.item(idx);
IPropertyTree *link=createPTree("Link");
link->addProp("@name", method.m_label.str());
link->addProp("@info", method.m_label.str());
StringBuffer path;
path.appendf("../%s/%s?form%s", serviceName.str(), method.m_label.str(),params.str());
link->addProp("@path", path.str());
folder->addPropTree("Link", link);
}
}
开发者ID:GordonSmith,项目名称:HPCC-Platform,代码行数:51,代码来源:espprotocol.cpp
示例8: querySDS
IPropertyTree *getPkgSetRegistry(const char *process, bool readonly)
{
Owned<IRemoteConnection> globalLock = querySDS().connect("/PackageSets/", myProcessSession(), RTM_LOCK_WRITE|RTM_CREATE_QUERY, SDS_LOCK_TIMEOUT);
if (!globalLock)
throw MakeStringException(PKG_DALI_LOOKUP_ERROR, "Unable to connect to PackageSet information in dali /PackageSets");
IPropertyTree *pkgSets = globalLock->queryRoot();
if (!pkgSets)
throw MakeStringException(PKG_DALI_LOOKUP_ERROR, "Unable to open PackageSet information in dali /PackageSets");
if (!process || !*process)
process = "*";
StringBuffer id;
buildPkgSetId(id, process);
//Only lock the branch for the target we're interested in.
VStringBuffer xpath("/PackageSets/PackageSet[@id='%s']", id.str());
Owned<IRemoteConnection> conn = querySDS().connect(xpath.str(), myProcessSession(), readonly ? RTM_LOCK_READ : RTM_LOCK_WRITE, SDS_LOCK_TIMEOUT);
if (!conn)
{
if (readonly)
return NULL;
Owned<IPropertyTree> pkgSet = createPTree();
pkgSet->setProp("@id", id.str());
pkgSet->setProp("@process", process);
pkgSets->addPropTree("PackageSet", pkgSet.getClear());
globalLock->commit();
conn.setown(querySDS().connect(xpath.str(), myProcessSession(), RTM_LOCK_WRITE, SDS_LOCK_TIMEOUT));
}
return (conn) ? conn->getRoot() : NULL;
}
开发者ID:ruidafu,项目名称:HPCC-Platform,代码行数:33,代码来源:ws_packageprocessService.cpp
示例9: getPkgInfo
void getPkgInfo(const IPropertyTree *packageMaps, const char *target, const char *process, StringBuffer &info)
{
Owned<IPropertyTree> tree = createPTree("PackageMaps");
Owned<IPropertyTree> pkgSetRegistry = getPkgSetRegistry(process, true);
if (!pkgSetRegistry)
{
toXML(tree, info);
return;
}
StringBuffer xpath("PackageMap[@active='1']");
if (target && *target)
xpath.appendf("[@querySet='%s']", target);
Owned<IPropertyTreeIterator> iter = pkgSetRegistry->getElements(xpath.str());
ForEach(*iter)
{
IPropertyTree &item = iter->query();
const char *id = item.queryProp("@id");
if (id)
{
StringBuffer xpath;
xpath.append("PackageMap[@id='").append(id).append("']");
IPropertyTree *mapTree = packageMaps->queryPropTree(xpath);
if (mapTree)
mergePTree(tree, mapTree);
}
}
toXML(tree, info);
}
开发者ID:ruidafu,项目名称:HPCC-Platform,代码行数:29,代码来源:ws_packageprocessService.cpp
示例10: assert
void SWBackupNode::addOtherSelector(IPropertyTree *compTree, IPropertyTree *params)
{
StringBuffer xpath;
assert(compTree);
const char* selector = params->queryProp("@selector");
if (selector && !stricmp("NodeGroup", selector))
{
IPropertyTree *nodeGroup = createPTree(selector);
IPropertyTree* pAttrs = params->queryPropTree("Attributes");
updateNode(nodeGroup, pAttrs, NULL);
if (!nodeGroup->hasProp("@interval"))
{
xpath.clear().appendf("xs:element/xs:complexType/xs:sequence/xs:element[@name=\"NodeGroup\"]/xs:complexType/xs:attribute[@name=\"interval\"]/@default");
const char *interval = m_pSchema->queryProp(xpath.str());
if ( interval && *interval )
{
nodeGroup->addProp("@interval", interval);
}
else
{
throw MakeStringException(CfgEnvErrorCode::MissingRequiredParam,
"Missing required paramter \"interval\" and there is no default value.");
}
}
compTree->addPropTree(selector, nodeGroup);
}
}
开发者ID:AttilaVamos,项目名称:HPCC-Platform,代码行数:28,代码来源:SWBackupNode.cpp
示例11: assert
unsigned SWBackupNode::add(IPropertyTree *params)
{
unsigned rc = SWProcess::add(params);
IPropertyTree * envTree = m_envHelper->getEnvTree();
const char* key = params->queryProp("@key");
StringBuffer xpath;
xpath.clear().appendf(XML_TAG_SOFTWARE "/%s[@name=\"%s\"]", m_processName.str(), key);
IPropertyTree * compTree = envTree->queryPropTree(xpath.str());
assert(compTree);
const char* selector = params->queryProp("@selector");
if (selector && !stricmp("NodeGroup", selector))
{
IPropertyTree *nodeGroup = createPTree(selector);
IPropertyTree* pAttrs = params->queryPropTree("Attributes");
updateNode(nodeGroup, pAttrs, NULL);
if (!nodeGroup->hasProp("@interval"))
{
xpath.clear().appendf("xs:element/xs:complexType/xs:sequence/xs:element[@name=\"NodeGroup\"]/xs:complexType/xs:attribute[@name=\"interval\"]/@default");
const char *interval = m_pSchema->queryProp(xpath.str());
if ( interval && *interval )
{
nodeGroup->addProp("@interval", interval);
}
else
{
throw MakeStringException(CfgEnvErrorCode::MissingRequiredParam,
"Missing required paramter \"interval\" and there is no default value.");
}
}
compTree->addPropTree(selector, nodeGroup);
}
return rc;
}
开发者ID:Michael-Gardner,项目名称:HPCC-Platform,代码行数:34,代码来源:SWBackupNode.cpp
示例12: createPTree
void CEsdlSvcEngine::init(const IPropertyTree *cfg, const char *process, const char *service)
{
EsdlServiceImpl::init(cfg, process, service);
m_service_ctx.setown( createPTree("Context", false) );
ensurePTree(m_service_ctx, "Row");
}
开发者ID:GordonSmith,项目名称:HPCC-Platform,代码行数:7,代码来源:esdl_svc_engine.cpp
示例13: createPTree
void LogicalGraphCreator::beginActivity(const char * label, unique_id_t id)
{
activityNode.set(curSubGraph()->addPropTree("node", createPTree()));
if (label)
activityNode->setProp("@label", label);
activityNode->setPropInt64("@id", id);
}
开发者ID:AlexLuya,项目名称:HPCC-Platform,代码行数:7,代码来源:hqlgraph.cpp
示例14:
IPropertyTree *CEspBinding::ensureNavLink(IPropertyTree &folder, const char *name, const char *path, const char *tooltip, const char *menuname, const char *navPath, unsigned relPosition, bool force)
{
StringBuffer xpath;
xpath.appendf("Link[@name=\"%s\"]", name);
bool addNew = true;
IPropertyTree *ret = folder.queryPropTree(xpath.str());
if (ret)
{
bool forced = ret->getPropBool("@force");
if (forced || !force)
return ret;
addNew = false;
}
if (addNew)
ret=createPTree("Link");
ret->setProp("@name", name);
ret->setProp("@tooltip", tooltip);
ret->setProp("@path", path);
ret->setProp("@menu", menuname);
ret->setProp("@navPath", navPath);
ret->setPropInt("@relPosition", relPosition);
ret->setPropBool("@force", force);
if (addNew)
folder.addPropTree("Link", ret);
return ret;
}
开发者ID:AlexLuya,项目名称:HPCC-Platform,代码行数:32,代码来源:espprotocol.cpp
示例15: createPTree
void ResourceManager::addManifest(const char *filename)
{
StringBuffer path;
Owned<IPropertyTree> t = createPTree();
t->setProp("@originalFilename", makeAbsolutePath(filename, path).str());
ensureManifestInfo()->addPropTree("Include", t.getClear());
addManifestFile(filename);
}
开发者ID:hhy5277,项目名称:HPCC-Platform,代码行数:8,代码来源:hqlres.cpp
示例16: createPTree
IPropertyTree *CEspBinding::addNavException(IPropertyTree &folder, const char *message/*=NULL*/, int code/*=0*/, const char *source/*=NULL*/)
{
IPropertyTree *ret = folder.addPropTree("Exception", createPTree());
ret->addProp("@message", message ? message : "Unknown exception");
ret->setPropInt("@code", code);
ret->setProp("@source", source);
return ret;
}
开发者ID:AlexLuya,项目名称:HPCC-Platform,代码行数:8,代码来源:espprotocol.cpp
示例17: getRecordMetaAsString
extern DEFTYPE_API StringBuffer & getRecordMetaAsString(StringBuffer & out, IDefRecordMeta const * meta)
{
Owned<IPropertyTree> tree = createPTree("RecordMeta");
tree->setPropInt("@numKeyedFields", meta->numKeyedFields());
addElementToPTree(tree, meta->queryRecord());
toXML(tree, out);
return out;
}
开发者ID:aa0,项目名称:HPCC-Platform,代码行数:8,代码来源:deffield.cpp
示例18: fn2
static unsigned fn2(unsigned n, unsigned m, unsigned seed, unsigned depth, StringBuffer &parentname)
{
if (!Rconn)
return 0;
if ((n+m+seed)%25==0) {
Rconn->commit();
Rconn->Release();
Rconn = querySDS().connect("/DAREGRESS",myProcessSession(), 0, 1000000);
if (!Rconn) {
ERROR("Failed to connect to /DAREGRESS");
return 0;
}
}
IPropertyTree *parent = parentname.length()?Rconn->queryRoot()->queryPropTree(parentname.str()):Rconn->queryRoot();
if (!parent) {
ERROR1("Failed to connect to %s",parentname.str());
Rconn->Release();
Rconn = NULL;
return 0;
}
__int64 val = parent->getPropInt64("val",0);
parent->setPropInt64("val",n+val);
val = parent->getPropInt64("@val",0);
parent->setPropInt64("@val",m+val);
val = parent->getPropInt64(NULL,0);
parent->setPropInt64(NULL,seed+val);
if (!seed)
return m+n;
if (n==m)
return seed;
if (depth>10)
return seed+n+m;
if (seed%7==n%7)
return n;
if (seed%7==m%7)
return m;
char name[64];
unsigned v = seed;
name[0] = 's';
name[1] = 'u';
name[2] = 'b';
unsigned i = 3;
while (v) {
name[i++] = ('A'+v%26 );
v /= 26;
}
name[i] = 0;
unsigned l = parentname.length();
if (parentname.length())
parentname.append('/');
parentname.append(name);
IPropertyTree *child = parent->queryPropTree(name);
if (!child)
child = parent->addPropTree(name, createPTree(name));
unsigned ret = fn2(fn2(n,seed,seed*17+11,depth+1,parentname),fn2(seed,m,seed*11+17,depth+1,parentname),seed*19+7,depth+1,parentname);
parentname.setLength(l);
return ret;
}
开发者ID:EwokVillage,项目名称:HPCC-Platform,代码行数:58,代码来源:daregress.cpp
示例19: toXML
CPackageNode::CPackageNode(IPropertyTree *p)
{
if (p)
node.set(p);
else
node.setown(createPTree("HpccPackages"));
StringBuffer xml;
toXML(node, xml, 0, XML_SortTags);
hash = rtlHash64Data(xml.length(), xml.str(), 9994410);
}
开发者ID:JamesDeFabia,项目名称:HPCC-Platform,代码行数:10,代码来源:package.cpp
示例20: querySDS
IXRefNode * CXRefNodeManager::CreateXRefNode(const char* NodeName)
{
Owned<IRemoteConnection> conn = querySDS().connect("/DFU/XREF",myProcessSession(),RTM_CREATE_QUERY|RTM_LOCK_WRITE ,INFINITE);
IPropertyTree* xref_ptree = conn->queryRoot();
IPropertyTree* cluster_ptree = xref_ptree->addPropTree("Cluster", createPTree());
cluster_ptree->setProp("@name",NodeName);
conn->commit();
conn->changeMode(RTM_NONE);
return new CXRefNode(NodeName,conn);
}
开发者ID:aa0,项目名称:HPCC-Platform,代码行数:10,代码来源:XRefNodeManager.cpp
注:本文中的createPTree函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论