本文整理汇总了C++中IProperties::hasProp方法的典型用法代码示例。如果您正苦于以下问题:C++ IProperties::hasProp方法的具体用法?C++ IProperties::hasProp怎么用?C++ IProperties::hasProp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IProperties
的用法示例。
在下文中一共展示了IProperties::hasProp方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: queueLog
bool CLogThread::queueLog(IEspContext & context,const char* serviceName, const char* request, const char* response)
{
IProperties* pProperties = context.queryRequestParameters();
StringBuffer UserID, UserRealm, UserReference, peer;
if(pProperties != NULL && pProperties->hasProp("userid_"))
UserID.appendf("%s",pProperties->queryProp("userid_"));
else
context.getUserID(UserID);
if(pProperties != NULL && pProperties->hasProp("fqdn_"))
UserRealm.appendf("%s",pProperties->queryProp("fqdn_"));
else
context.getRealm(UserRealm);
Owned<IPropertyTree> pLogTreeInfo = createPTreeFromXMLString(request, ipt_none, ptr_none);
IArrayOf<IEspLogInfo> LogArray;
addLogInfo(LogArray, *pLogTreeInfo.get());
if(pProperties != NULL && pProperties->hasProp("referencecode_"))
{
//lets manually add the reference number....
IClientLogInfo& LogInfoTransaction = addLogInfoElement(LogArray);
LogInfoTransaction.setName("referencenumber");
LogInfoTransaction.setValue(pProperties->queryProp("referencecode_"));
}
LOG_INFO _LogStruct(serviceName,-1,false);
return queueLog(UserID.str(), UserRealm.str() , context.getPeer(peer).str(),_LogStruct, LogArray );
}
示例2: MakeStringException
StringBuffer& CLogThread::serializeRequest(IEspContext& context,IInterface& logInfo, StringBuffer& returnStr)
{
IRpcSerializable* rpcreq = dynamic_cast<IRpcSerializable*>(&logInfo);
if(rpcreq==NULL)
throw MakeStringException(500,"Issue serializing log information");
// We want to serialize anything here for logging purpose: e.g., internal user fields: CompanyId
// rpcreq->serialize(&context,returnStr, "LogData");
// rpcreq->serialize(NULL,returnStr, "LogData");
//BUG#26047
//logInfo function parameter is instance of the incoming request object of the service.
//instance objects of context and request are dependent upon the protocol binding.
//Request parameters are relevent for HTTP protocol but are not relevent for protocolX.
//Since request parameters pointer is not initilized in processing protocolX request it remains NULL
//and causing this crash.
IProperties* params = context.queryRequestParameters();
if(params!=NULL)
{
bool notInternal = !params->hasProp("internal");
if (notInternal)
params->setProp("internal","1");
rpcreq->serialize(&context,returnStr, "LogData");
if (notInternal)
params->removeProp("internal");
}else{
rpcreq->serialize(NULL,returnStr, "LogData");
}
return returnStr;
}
示例3: _getValue
bool CXmlScope::_getValue(const char* x, StringBuffer &ret)
{
if (locals && locals->hasProp(x))
{
locals->getProp(x, ret);
return true;
}
return root->getProp(x,ret);
};
示例4: declareValue
/* return false if the name is already defined. */
bool CXmlScope::declareValue(const char *name)
{
if (locals && locals->hasProp(name))
return false;
if (!locals)
locals = createProperties(true);
locals->setProp(name, "");
return true;
};
示例5: onGetInstantQuery
//.........这里部分代码省略.........
if (bProcess)
{
if (bDownloadFile)
return 0;
StringBuffer xml;
Owned<IProperties> params(createProperties());
if (!permission)
{
params->setProp("@method", methodbuf.str());
xml.append("<Environment><ErrorMessage>Permission denied.</ErrorMessage></Environment>");
}
else
{
if(submethod.length() > 0)
params->setProp("@submethod", submethod.str());
params->setProp("@method", methodbuf.str());
if (*sourceLogicalFile.str())
{
params->setProp("@sourceLogicalName", sourceLogicalFile.str());
Owned<IUserDescriptor> userdesc;
StringBuffer username;
context.getUserID(username);
if(username.length() > 0)
{
const char* passwd = context.queryPassword();
userdesc.setown(createUserDescriptor());
userdesc->set(username.str(), passwd);
try
{
if (stricmp(method, "CopyInput") == 0)
{
Owned<IDistributedFile> df = queryDistributedFileDirectory().lookup(sourceLogicalFile.str(), userdesc.get());
if(!df)
{
throw MakeStringException(ECLWATCH_FILE_NOT_EXIST,"Could not find file %s.",sourceLogicalFile.str());
}
const char *kind = df->queryAttributes().queryProp("@kind");
if (kind && strcmp(kind,"key")==0)
{
params->setProp("@compressflag", 0);
}
else if(df->isCompressed())
{
params->setProp("@compressflag", 2);
}
else
{
params->setProp("@compressflag", 1);
}
}
}
catch (IException *E)
{
Owned<IXslProcessor> xslp = getXslProcessor();
if (!xslp)
throw E;
Owned<IMultiException> me = MakeMultiException();
me->append(*E);
response->handleExceptions(xslp, me, "FileSpray", method, StringBuffer(getCFD()).append("./smc_xslt/exceptions.xslt").str());
return 0;
}
}
}
else
{
params->setProp("@compressflag", 1);
}
StringBuffer wuid;
request->getParameter("wuid", wuid);
Owned<IPropertyTree> pTree = createPTreeForXslt(method, wuid.str());
toXML(pTree, xml, false);
}
IProperties* requestparams = request->queryParameters();
if(requestparams && requestparams->hasProp("rawxml_"))
{
response->setContent(xml.str());
response->setContentType(HTTP_TYPE_APPLICATION_XML);
}
else{
StringBuffer htmlbuf;
xsltTransform(xml.str(), xsltFileName.str(), params, htmlbuf);
response->setContent(htmlbuf.str());
response->setContentType(HTTP_TYPE_TEXT_HTML_UTF8);
}
response->send();
return 0;
}
else
return CFileSpraySoapBinding::onGetInstantQuery(context, request, response, service, method);
}