39 #ifndef ORO_STRUCT_TYPE_INFO_HPP 40 #define ORO_STRUCT_TYPE_INFO_HPP 61 template<
typename T,
bool has_ostream = false>
62 class StructTypeInfo:
public TemplateTypeInfo<T, has_ostream>,
public MemberFactory
97 assert(
false &&
"You're doing something new and exotic. Contact the Orocos-dev mailing list.");
116 log(
Error) <<
"Wrong call to type info function " + this->
getTypeName() <<
"'s getMember() can not process "<< item->getTypeName() <<
endlog();
135 log(
Error) <<
"Wrong call to type info function " + this->
getTypeName() <<
"'s getMember() can not process "<< item->getTypeName() <<
endlog();
virtual result_t get() const =0
boost::call_traits< value_t >::reference reference_t
const std::string & getType() const
bool refreshProperties(const PropertyBag &target, const PropertyBag &source, bool allprops)
virtual void set(param_t t)=0
bool installTypeInfoObject(TypeInfo *ti)
virtual bool resize(base::DataSourceBase::shared_ptr arg, int size) const
A container for holding references to properties.
base::DataSourceBase::shared_ptr discoverMember(T &t, const std::string name)
StructTypeInfo(std::string name)
virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item, const std::string &name) const
virtual const std::string & getTypeName() const
virtual std::vector< std::string > getMemberNames() const
void setMemberFactory(MemberFactoryPtr mf)
virtual bool composeTypeImpl(const PropertyBag &source, typename internal::AssignableDataSource< T >::reference_t result) const
TypeInfoRepository::shared_ptr Types()
bool typeDecomposition(base::DataSourceBase::shared_ptr dsb, PropertyBag &targetbag, bool recurse)
boost::intrusive_ptr< DataSource< T > > shared_ptr
boost::intrusive_ptr< AssignableDataSource< T > > shared_ptr
bool installTypeInfoObject(TypeInfo *ti)
virtual base::DataSourceBase::shared_ptr getMember(base::DataSourceBase::shared_ptr item, base::DataSourceBase::shared_ptr id) const
boost::intrusive_ptr< DataSourceBase > shared_ptr
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
boost::shared_ptr< TypeInfoRepository > shared_ptr
static Logger::LogFunction endlog()
bool referenceMember(internal::Reference *ref, T &t, const std::string name)
virtual bool getMember(internal::Reference *ref, base::DataSourceBase::shared_ptr item, const std::string &name) const
boost::shared_ptr< PrimitiveTypeInfo< T, use_ostream > > getSharedPtr()