Robot Raconteur Core C++ Library
Public Member Functions | Public Attributes | List of all members
RobotRaconteur::ObjRefDefinition Class Reference

Class for objref member definitions. More...

Inheritance diagram for RobotRaconteur::ObjRefDefinition:
RobotRaconteur::MemberDefinition

Public Member Functions

 ObjRefDefinition (const boost::shared_ptr< ServiceEntryDefinition > &ServiceEntry)
 Construct a new empty ObjRefDefinition object. More...
 
RR_OVIRTUAL std::string ToString () RR_OVERRIDE
 Convert member to a string. More...
 
void FromString (boost::string_ref s, const ServiceDefinitionParseInfo *parse_info=NULL)
 Parse an objref definition from string. More...
 
RR_OVIRTUAL void Reset () RR_OVERRIDE
 Clear all fields.
 
virtual MemberDefinition_NoLock NoLock () const
 Get member locking behavior. More...
 

Public Attributes

std::string ObjectType
 The object type name. More...
 
DataTypes_ArrayTypes ArrayType
 The array type of the ObjRef member. More...
 
DataTypes_ContainerTypes ContainerType
 The container type of the ObjRef member. More...
 
std::string Name
 The name of the member.
 
RR_WEAK_PTR< ServiceEntryDefinitionServiceEntry
 The parent service entry definition. More...
 
std::vector< std::string > Modifiers
 Modifiers for this member. More...
 
ServiceDefinitionParseInfo ParseInfo
 Parsing diagnostic information. More...
 
std::string DocString
 Documentation string for the member.
 

Detailed Description

Class for objref member definitions.

ObjRefDefinition is used to store ObjRef member definitions used with an Object parent.

See service_definitions.md for more information.

Constructor & Destructor Documentation

◆ ObjRefDefinition()

RobotRaconteur::ObjRefDefinition::ObjRefDefinition ( const boost::shared_ptr< ServiceEntryDefinition > &  ServiceEntry)

Construct a new empty ObjRefDefinition object.

Must be constructed with boost::make_shared<ObjRefDefinition>()

Parameters
ServiceEntryThe parent service entry definition

Member Function Documentation

◆ FromString()

void RobotRaconteur::ObjRefDefinition::FromString ( boost::string_ref  s,
const ServiceDefinitionParseInfo parse_info = NULL 
)

Parse an objref definition from string.

Parameters
sThe objref definition as a string
parse_infoParsing diagnostic information

◆ NoLock()

virtual MemberDefinition_NoLock RobotRaconteur::MemberDefinition::NoLock ( ) const
virtualinherited

Get member locking behavior.

Members may use modifiers to change behavior when an object is locked using RobotRaconteurNode::RequestObjectLock() or ServerContext::RequestObjectLock() By default, access to the object is protected against other users/sessions. Members can be declared nolock or nolockread to allow objects to be unlocked, or unlocked for read operations. See object_locks.md for more information.

Returns
MemberDefinition_NoLock The locking behavior

◆ ToString()

RR_OVIRTUAL std::string RobotRaconteur::ObjRefDefinition::ToString ( )
virtual

Convert member to a string.

Returned member string is in Service Definition IDL format

Returns
std::string The member as a string

Reimplemented from RobotRaconteur::MemberDefinition.

Member Data Documentation

◆ ArrayType

DataTypes_ArrayTypes RobotRaconteur::ObjRefDefinition::ArrayType

The array type of the ObjRef member.

ObjRefs may have array types DataTypes_ArrayTypes_none or DataTypes_ArrayTypes_array

Array and container types may not be combined.

◆ ContainerType

DataTypes_ContainerTypes RobotRaconteur::ObjRefDefinition::ContainerType

The container type of the ObjRef member.

ObjRefs may have container types DataTypes_ContainerTypes_none, DataTypes_ContainerTypes_map_int32, or DataTypes_ContainerTypes_map_string

Array and container types may not be combined.

◆ Modifiers

std::vector<std::string> RobotRaconteur::MemberDefinition::Modifiers
inherited

Modifiers for this member.

Modifiers are used to modify the behavior of the member. See service_definitions.md for more information on valid modifiers.

◆ ObjectType

std::string RobotRaconteur::ObjRefDefinition::ObjectType

The object type name.

Object type name should be fully qualified if imported from another service definition.

◆ ParseInfo

ServiceDefinitionParseInfo RobotRaconteur::MemberDefinition::ParseInfo
inherited

Parsing diagnostic information.

The ParseInfo field is populated by the FromString() function of the member

◆ ServiceEntry

RR_WEAK_PTR<ServiceEntryDefinition> RobotRaconteur::MemberDefinition::ServiceEntry
inherited

The parent service entry definition.

Stored as a weak_ptr to prevent circular reference counts


The documentation for this class was generated from the following file: