本文整理汇总了C++中datasourcebase::shared_ptr::updateCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ shared_ptr::updateCommand方法的具体用法?C++ shared_ptr::updateCommand怎么用?C++ shared_ptr::updateCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datasourcebase::shared_ptr
的用法示例。
在下文中一共展示了shared_ptr::updateCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addDisplaySource
bool ImageDisplayComponent::addDisplaySource(std::string tag, std::string type, DataSourceBase::shared_ptr orig)
{
// creates a copy of the data and an update command to
// update the copy from the original.
//
// Added IplImage type
Logger::In in("ImageDisplayComponent");
// Check if the type is IplImage, if this fail
if(orig->getTypeName()!="IplImage"){
log(Error) << "Could not display '"<< tag <<"': This is not a IplImage type, it the Vision tookkit loaded?" << endlog();
return false;
}
DataSourceBase::shared_ptr clone = orig->getTypeInfo()->buildValue();
if ( !clone ) {
log(Error) << "Could not display '"<< tag <<"' : unknown type." << endlog();
return false;
}
try {
boost::shared_ptr<CommandInterface> comm( clone->updateCommand( orig.get() ) );
assert( comm );
root.push_back( boost::make_tuple( tag, orig, comm, clone, type ) );
} catch ( bad_assignment& ba ) {
log(Error) << "Could not display '"<< tag <<"' : failed to create Command." << endlog();
return false;
}
return true;
}