本文整理汇总了C++中XIRef::Parse方法的典型用法代码示例。如果您正苦于以下问题:C++ XIRef::Parse方法的具体用法?C++ XIRef::Parse怎么用?C++ XIRef::Parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XIRef
的用法示例。
在下文中一共展示了XIRef::Parse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: catch
Config::Config() :
_recorderIP( "127.0.0.1" ),
_recorderPort( 10013 ),
_logFilePath( "" ),
_hasDRIEncoding( false ),
_hasDRIDecoding( false ),
_transcodeSleep( 0 ),
_enableDecodeSkipping( false ),
_cacheLok(),
_progressCache(10)
{
if( XPath::Exists( "config.xml" ) )
{
XIRef<XDomParser> domParser = new XDomParser;
domParser->OpenAndSetDocument( "config.xml" );
XIRef<XDomParserNode> rootNode = domParser->Parse();
{
list<XIRef<XDomParserNode> > searchResults = domParser->SearchForAll( "recorder_ip", rootNode );
if( !searchResults.empty() )
_recorderIP = searchResults.front()->GetData();
}
{
list<XIRef<XDomParserNode> > searchResults = domParser->SearchForAll( "recorder_port", rootNode );
if( !searchResults.empty() )
_recorderPort = searchResults.front()->GetData().ToInt();
}
{
list<XIRef<XDomParserNode> > searchResults = domParser->SearchForAll( "log_file_path", rootNode );
if( !searchResults.empty() )
_logFilePath = searchResults.front()->GetData();
}
{
list<XIRef<XDomParserNode> > searchResults = domParser->SearchForAll( "transcode_sleep", rootNode );
if( !searchResults.empty() )
_transcodeSleep = searchResults.front()->GetData().ToInt();
}
{
list<XIRef<XDomParserNode> > searchResults = domParser->SearchForAll( "decode_skipping", rootNode );
if( !searchResults.empty() )
_enableDecodeSkipping = searchResults.front()->GetData().ToInt() != 0;
}
}
try
{
#ifndef WIN32
_hasDRIEncoding = VAH264Encoder::HasHW( "/dev/dri/card0" );
#endif
}
catch(...)
{
X_LOG_NOTICE("/dev/dri/card0 device not supported for encoding.");
}
try
{
#ifndef WIN32
_hasDRIDecoding = VAH264Decoder::HasHW( "/dev/dri/card0" );
#endif
}
catch(...)
{
X_LOG_NOTICE("/dev/dri/card0 device not supported for encoding.");
}
}