本文整理汇总了C++中TRACE_PARSE_ENTRY函数的典型用法代码示例。如果您正苦于以下问题:C++ TRACE_PARSE_ENTRY函数的具体用法?C++ TRACE_PARSE_ENTRY怎么用?C++ TRACE_PARSE_ENTRY使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了TRACE_PARSE_ENTRY函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CElementParser, OnComplexType)
{
TRACE_PARSE_ENTRY();
CElement * pCurr = GetElement();
if (pCurr != NULL)
{
CComplexType * pElem = pCurr->AddComplexType();
if (pElem != NULL)
{
SetXSDElementInfo(pElem, pCurr, GetLocator());
CAutoPtr<CComplexTypeParser> p( new CComplexTypeParser(GetReader(), this, GetLevel(), pElem) );
if (p != NULL)
{
if (g_ParserList.AddHead(p) != NULL)
{
return p.Detach()->GetAttributes(pAttributes);
}
}
}
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}
示例2: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CWSDLOperationParser, OnHttpOperation)
{
TRACE_PARSE_ENTRY();
CWSDLPortTypeOperation * pCurr = GetOperation();
if (pCurr != NULL)
{
CHttpOperation *pOperation = pCurr->AddHttpOperation();
if (pOperation != NULL)
{
CStringW strLocation;
if (S_OK == GetAttribute(pAttributes, L"location", sizeof("location")-1, strLocation))
{
if (SUCCEEDED(pOperation->SetLocation(strLocation)))
{
return SkipElement();
}
}
OnMissingAttribute(TRUE, L"location", sizeof("location")-1, L"", 0);
}
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}
示例3: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CWSDLBindingParser, OnOperation)
{
TRACE_PARSE_ENTRY();
CWSDLBinding * pCurr = GetBinding();
if (pCurr != NULL)
{
CAutoPtr<CWSDLPortTypeOperation> spElem;
spElem.Attach( new CWSDLPortTypeOperation );
if (spElem != NULL)
{
SetXMLElementInfo(spElem, pCurr, GetLocator());
CAutoPtr<CWSDLOperationParser> p( new CWSDLOperationParser(GetReader(), this, GetLevel(), spElem) );
if (p)
{
if (g_ParserList.AddHead(p) != NULL)
{
if (SUCCEEDED(p.Detach()->GetAttributes(pAttributes)))
{
if (pCurr->AddOperation(spElem) != NULL)
{
spElem.Detach();
return S_OK;
}
}
}
}
}
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}
示例4: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CElementParser, OnMaxOccurs)
{
TRACE_PARSE_ENTRY();
if (cchValue==sizeof("unbounded")-1 && !wcsncmp(wszValue, L"unbounded", cchValue))
{
CElement * pCurr = GetElement();
if (pCurr != NULL)
{
pCurr->SetMaxOccurs(MAXOCCURS_UNBOUNDED);
return S_OK;
}
return E_FAIL;
}
int nMaxOccurs = 0;
nMaxOccurs = _wtoi(wszValue);
if (nMaxOccurs >= 0)
{
//
// maxOccurs must be >= 0
//
CElement * pCurr = GetElement();
if (pCurr != NULL)
{
pCurr->SetMaxOccurs(nMaxOccurs);
return S_OK;
}
}
EmitInvalidValue("maxOccurs", wszValue);
return E_FAIL;
}
示例5: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CComplexTypeParser, OnAll)
{
TRACE_PARSE_ENTRY();
DisableReset();
return S_OK;
}
示例6: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CSchemaParser, OnRedefine)
{
TRACE_PARSE_ENTRY();
MarkUnsupported(wszQName, cchQName);
EmitSkip(wszNamespaceUri, wszLocalName);
return SkipElement();
}
示例7: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CComplexTypeParser, OnFinal)
{
TRACE_PARSE_ENTRY();
CComplexType * pCurr = GetComplexType();
if (pCurr != NULL && pCurr->GetElementType() == XSD_COMPLEXTYPE)
{
MarkUnsupported(wszQName, cchQName);
}
return S_OK;
}
示例8: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CContentParser, OnID)
{
TRACE_PARSE_ENTRY();
CContent *pCurr = GetContent();
if (pCurr != NULL)
{
return pCurr->SetID(wszValue, cchValue);
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}
示例9: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CWSDLBindingParser, OnType)
{
TRACE_PARSE_ENTRY();
CWSDLBinding * pCurr = GetBinding();
if (pCurr != NULL)
{
return pCurr->SetType(wszValue, cchValue);
}
EmitError(IDS_SDL_INTERNAL);
return E_FAIL;
}
示例10: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CWSDLMessageParser, OnName)
{
TRACE_PARSE_ENTRY();
CWSDLMessage *pCurr = GetMessage();
if (pCurr != NULL)
{
return pCurr->SetName(wszValue, cchValue);
}
EmitError(IDS_SDL_INTERNAL);
return E_FAIL;
}
示例11: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CWSDLOperationParser, OnName)
{
TRACE_PARSE_ENTRY();
CWSDLPortTypeOperation * pCurr = GetOperation();
if (pCurr != NULL)
{
return pCurr->SetName(wszValue, cchValue);
}
EmitError(IDS_SDL_INTERNAL);
return E_FAIL;
}
示例12: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CSchemaParser, OnTargetNamespace)
{
TRACE_PARSE_ENTRY();
CSchema * pCurr = GetSchema();
if (pCurr != NULL)
{
return pCurr->SetTargetNamespace(wszValue, cchValue);
}
EmitError(IDS_SDL_INTERNAL);
return E_FAIL;
}
示例13: ATTR_METHOD_IMPL
ATTR_METHOD_IMPL(CWSDLServiceParser, OnName)
{
TRACE_PARSE_ENTRY();
CWSDLService * pCurr = GetService();
if (pCurr != NULL)
{
return pCurr->SetName(wszValue, cchValue);
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}
示例14: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CContentParser, OnExtension)
{
TRACE_PARSE_ENTRY();
int nLine = 0;
int nCol = 0;
GetLocator()->getLineNumber(&nLine);
GetLocator()->getColumnNumber(&nCol);
CContent *pCurr = GetContent();
if (pCurr != NULL)
{
EmitFileError(IDS_SDL_BASE_EXTENSION,
(LPCWSTR) pCurr->GetParentDocument()->GetDocumentUri(),
nLine, nCol, 0);
}
return E_FAIL;
}
示例15: TAG_METHOD_IMPL
TAG_METHOD_IMPL(CWSDLMessageParser, OnPart)
{
TRACE_PARSE_ENTRY();
CWSDLMessage *pCurr = GetMessage();
if (pCurr != NULL)
{
CWSDLMessagePart *pPart = pCurr->AddPart();
if (pPart != NULL)
{
SetXMLElementInfo(pPart, pCurr, GetLocator());
CStringW strName;
if (S_OK == GetAttribute(pAttributes, L"name", sizeof("name")-1, strName))
{
pPart->SetName(strName);
CStringW strElement;
if (S_OK == GetAttribute(pAttributes, L"element", sizeof("element")-1, strElement))
{
pPart->SetElement(strElement);
}
CStringW strType;
if (S_OK == GetAttribute(pAttributes, L"type", sizeof("type")-1, strType))
{
pPart->SetType(strType);
}
// else
// {
// OnMissingAttribute(TRUE, L"element", sizeof("element")-1, L"", 0);
// }
return SkipElement();
}
OnMissingAttribute(TRUE, L"name", sizeof("name")-1, L"", 0);
}
}
EmitErrorHr(E_OUTOFMEMORY);
return E_FAIL;
}