Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Safir::Dob::NodeInfo Class Reference

Contains the name, status, and Ip address for all nodes in the system. More...

#include <Safir/Dob/NodeInfo.h>

Inheritance diagram for Safir::Dob::NodeInfo:
Collaboration diagram for Safir::Dob::NodeInfo:

Public Member Functions

 NodeInfo ()
 
virtual
Safir::Dob::Typesystem::ObjectPtr 
Clone () const
 Create a copy of the object. More...
 
const
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::Typesystem::StringContainer
NodeName () const
 The name of the node. More...
 
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::Typesystem::StringContainer
NodeName ()
 
const
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::NodeStatus::EnumerationContainer
Status () const
 The status of the node. More...
 
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::NodeStatus::EnumerationContainer
Status ()
 
const
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::Typesystem::StringContainer
IpAddress () const
 The Ip address used by the node. More...
 
Safir::Dob::Typesystem::ContainerProxy
< Safir::Dob::Typesystem::StringContainer
IpAddress ()
 
virtual
Safir::Dob::Typesystem::TypeId 
GetTypeId () const
 Get the type id of this object. More...
 
virtual bool IsChanged ()
 Check if any member of this object is changed. More...
 
virtual void SetChanged (const bool changed)
 Recursively set change flags in all members of this object. More...
 
virtual
Safir::Dob::Typesystem::ContainerBase
GetMember (const Safir::Dob::Typesystem::MemberIndex member, const Safir::Dob::Typesystem::ArrayIndex index)
 Get a reference to a member container from an object. More...
 
virtual const
Safir::Dob::Typesystem::ContainerBase
GetMember (const Safir::Dob::Typesystem::MemberIndex member, const Safir::Dob::Typesystem::ArrayIndex index) const
 Get a const reference to a member container from an object. More...
 
virtual
Safir::Dob::Typesystem::Int32 
CalculateBlobSize () const
 Calculate the size of the blob-serialized form of this object. More...
 
virtual void WriteToBlob (char *blob, char *&beginningOfUnused) const
 Write the object to a blob. More...
 
 NodeInfo (char const *const blob)
 
- Public Member Functions inherited from Safir::Dob::Entity
 Entity ()
 
 Entity (char const *const blob)
 
- Public Member Functions inherited from Safir::Dob::Typesystem::Object
 Object ()
 Default constructor. More...
 
virtual ~Object ()
 Virtual destructor. More...
 
 Object (char const *const blob)
 Create an Object from a blob. More...
 

Static Public Member Functions

static NodeInfoPtr Create ()
 
static
Safir::Dob::Typesystem::MemberIndex 
NodeNameMemberIndex ()
 
static
Safir::Dob::Typesystem::Int32 
NodeNameMaxStringLength ()
 
static
Safir::Dob::Typesystem::MemberIndex 
StatusMemberIndex ()
 
static
Safir::Dob::Typesystem::MemberIndex 
IpAddressMemberIndex ()
 
static
Safir::Dob::Typesystem::Int32 
IpAddressMaxStringLength ()
 
- Static Public Member Functions inherited from Safir::Dob::Entity
static EntityPtr Create ()
 
- Static Public Member Functions inherited from Safir::Dob::Typesystem::Object
static Dob::Typesystem::ObjectPtr Create ()
 Creates a new Object. More...
 

Static Public Attributes

static const
Safir::Dob::Typesystem::TypeId 
ClassTypeId = -7384790295819199437LL
 Type id for NodeInfo. More...
 
- Static Public Attributes inherited from Safir::Dob::Entity
static const
Safir::Dob::Typesystem::TypeId 
ClassTypeId = -2411771300820206595LL
 Type id for Entity. More...
 
- Static Public Attributes inherited from Safir::Dob::Typesystem::Object
static const
Dob::Typesystem::TypeId 
ClassTypeId = 5955188366590963785LL
 The TypeId of the Object class. More...
 

Detailed Description

Contains the name, status, and Ip address for all nodes in the system.

The inctance corresponds to the node number.

Constructor & Destructor Documentation

Safir::Dob::NodeInfo::NodeInfo ( )
Safir::Dob::NodeInfo::NodeInfo ( char const *const  blob)
explicit

Member Function Documentation

virtual Safir::Dob::Typesystem::Int32 Safir::Dob::NodeInfo::CalculateBlobSize ( ) const
virtual

Calculate the size of the blob-serialized form of this object.

Returns
The needed size in bytes.

Reimplemented from Safir::Dob::Entity.

virtual Safir::Dob::Typesystem::ObjectPtr Safir::Dob::NodeInfo::Clone ( ) const
virtual

Create a copy of the object.

Will create a copy of the object on the heap and return a smart pointer to it. Use boost::static_pointer_cast or boost::dynamic_pointer_cast to cast it to the pointer type that you're after.

Returns
A smart pointer to the copy of the object.

Reimplemented from Safir::Dob::Entity.

static NodeInfoPtr Safir::Dob::NodeInfo::Create ( )
static
virtual Safir::Dob::Typesystem::ContainerBase& Safir::Dob::NodeInfo::GetMember ( const Safir::Dob::Typesystem::MemberIndex  member,
const Safir::Dob::Typesystem::ArrayIndex  index 
)
virtual

Get a reference to a member container from an object.

Use the methods in Members to get member indices and array sizes for use with this method.

Note: Do not use this method unless you're very sure it is the one you need!

Parameters
member[in] - The index of the member to get.
index[in] - The array index of the member to get.
Returns
A reference to the member container.
Exceptions
IllegalValueExceptionIf the index is not in the range of the array.
SoftwareViolationExceptionIf the element is not an array and the index is not 0.

Reimplemented from Safir::Dob::Entity.

virtual const Safir::Dob::Typesystem::ContainerBase& Safir::Dob::NodeInfo::GetMember ( const Safir::Dob::Typesystem::MemberIndex  member,
const Safir::Dob::Typesystem::ArrayIndex  index 
) const
virtual

Get a const reference to a member container from an object.

Use the methods in Members to get member indices and array sizes for use with this method.

Note: Do not use this method unless you're very sure it is the one you need!

Parameters
member[in] - The index of the member to get.
index[in] - The array index of the member to get.
Returns
A const reference to the member container.
Exceptions
IllegalValueExceptionIf the index is not in the range of the array.
SoftwareViolationExceptionIf the element is not an array and the index is not 0.

Reimplemented from Safir::Dob::Entity.

virtual Safir::Dob::Typesystem::TypeId Safir::Dob::NodeInfo::GetTypeId ( ) const
virtual

Get the type id of this object.

Gets the type id of the object. Method is virtual to ensure that the right value gets returned for pointers or references.

Note
this method is overridden by all auto-generated classes.
Returns
The TypeId of the object.

Reimplemented from Safir::Dob::Entity.

const Safir::Dob::Typesystem::ContainerProxy<Safir::Dob::Typesystem::StringContainer> Safir::Dob::NodeInfo::IpAddress ( ) const

The Ip address used by the node.

static Safir::Dob::Typesystem::Int32 Safir::Dob::NodeInfo::IpAddressMaxStringLength ( )
static
static Safir::Dob::Typesystem::MemberIndex Safir::Dob::NodeInfo::IpAddressMemberIndex ( )
static
virtual bool Safir::Dob::NodeInfo::IsChanged ( )
virtual

Check if any member of this object is changed.

This method will recursively check if any member of the object has its change flag set.

Note
this method is overridden by all auto-generated classes.
Returns
True if any member has changed.

Reimplemented from Safir::Dob::Entity.

The name of the node.

static Safir::Dob::Typesystem::Int32 Safir::Dob::NodeInfo::NodeNameMaxStringLength ( )
static
static Safir::Dob::Typesystem::MemberIndex Safir::Dob::NodeInfo::NodeNameMemberIndex ( )
static
virtual void Safir::Dob::NodeInfo::SetChanged ( const bool  changed)
virtual

Recursively set change flags in all members of this object.

Note
this method is overridden by all auto-generated classes.
Parameters
changed[in] - The value to set the change flags to

Reimplemented from Safir::Dob::Entity.

The status of the node.

static Safir::Dob::Typesystem::MemberIndex Safir::Dob::NodeInfo::StatusMemberIndex ( )
static
virtual void Safir::Dob::NodeInfo::WriteToBlob ( char *  blob,
char *&  beginningOfUnused 
) const
virtual

Write the object to a blob.

Note that the size of the blob is assumed to be correct! No checks are made!

Parameters
blob[in,out] - The blob to write to.
beginningOfUnused[in,out] - The beginning of unused dynamic blob space.

Reimplemented from Safir::Dob::Entity.

Member Data Documentation

const Safir::Dob::Typesystem::TypeId Safir::Dob::NodeInfo::ClassTypeId = -7384790295819199437LL
static

Type id for NodeInfo.