#include <it_bus/reflect/complex_type.h>
Inheritance diagram for IT_Reflect::ComplexType:
Note: Optional attributes are represented as Nillable objects. A nil value indicates the attribute is missing. Non-optional attributes are represented as SimpleType objects.
Definition at line 25 of file complex_type.h.
Public Member Functions | |
ComplexType () IT_THROW_DECL(()) | |
No argument constructor. | |
virtual | ~ComplexType () IT_THROW_DECL(()) |
Destructor. | |
virtual size_t | get_attribute_count () const IT_THROW_DECL((ReflectException))=0 |
Return the count of attributes defined for this type. | |
virtual const IT_Bus::QName & | get_attribute_name (size_t i) const IT_THROW_DECL((ReflectException))=0 |
Return the name of the ith attribute. | |
virtual const Reflection * | get_attribute_value (const IT_Bus::QName &name) const IT_THROW_DECL((ReflectException))=0 |
Get read-only reflection of named attribute. | |
virtual Reflection * | use_attribute_value (const IT_Bus::QName &name) IT_THROW_DECL((ReflectException))=0 |
Use the named attribute. | |
virtual void | remove_attribute (const IT_Bus::QName &name) IT_THROW_DECL((ReflectException))=0 |
Remove an optional attribute. |
virtual size_t IT_Reflect::ComplexType::get_attribute_count | ( | ) | const [pure virtual] |
Return the count of attributes defined for this type.
ReflectException |
Implemented in IT_Reflect::ComplexTypeImpl.
virtual const IT_Bus::QName& IT_Reflect::ComplexType::get_attribute_name | ( | size_t | i | ) | const [pure virtual] |
Return the name of the ith attribute.
ReflectException |
Implemented in IT_Reflect::ComplexTypeImpl.
virtual const Reflection* IT_Reflect::ComplexType::get_attribute_value | ( | const IT_Bus::QName & | name | ) | const [pure virtual] |
Get read-only reflection of named attribute.
For optional attributes returns a 0 pointer if the attribute is missing.
name | Attribute name. |
ReflectException | The attribute name is not valid. |
virtual void IT_Reflect::ComplexType::remove_attribute | ( | const IT_Bus::QName & | name | ) | [pure virtual] |
Remove an optional attribute.
Does nothing for non-optional attributes.
name | Attribute name. |
ReflectException |
virtual Reflection* IT_Reflect::ComplexType::use_attribute_value | ( | const IT_Bus::QName & | name | ) | [pure virtual] |
Use the named attribute.
Returns a reflection object that can be used to modify the attribute. For optional attributes returns a 0 pointer if the attribute is missing.
name | Attribute name. |
ReflectException | The attribute is not present, or the name is invalid. |
Implemented in IT_Reflect::ComplexTypeImpl.