# Object Class Reference

`#include <Object.hh>`

Inheritance diagram for Object:

[legend]

List of all members.

## Public Member Functions
| Object (FederateHandle the_owner)
| Object (FederateHandle the_owner, const char *the_name)
| Constructor.
virtual | ~Object ()
| Destructor.
void | display () const
| Display informations about this object (see RootObj::display).
void | addAttribute (ObjectAttribute *new_attribute)
ObjectAttribute * | getAttribute (AttributeHandle the_attribute) const throw (AttributeNotDefined)
| getAttribute.
bool | isAttributeOwnedByFederate (FederateHandle, AttributeHandle) const throw (AttributeNotDefined, RTIinternalError)
| Verify that the attribute owner is federate.
ObjectClassHandle | getClass () const
void | setClass (ObjectClassHandle h)
FederateHandle | getOwner () const
void | setOwner (FederateHandle)
void | unassociate (RTIRegion *)
| Unassociate attributes from this region.
## Public Attributes
FederateHandle | Owner
## Private Attributes
std::deque< ObjectAttribute * > | attributeState
| Attribute list from object class instance (private).
ObjectHandle | handle
| Object Instance ID.
ObjectClassHandle | classHandle
ObjectName_t | name
| Object Class.
std::list< FederateHandle * > | sf

## Detailed Description

Definition at line 44 of file Object.hh.

## Constructor & Destructor Documentation

Object | ( | FederateHandle | the_owner | ) | `[inline]`

Definition at line 47 of file Object.hh.

Object | ( | FederateHandle | the_owner,
|  | const char * | the_name |
| ) |  |  |

Constructor.

Definition at line 45 of file Object.cc.

References Named::setName().

Here is the call graph for this function:

~Object | ( |  | ) | `[virtual]`

Destructor.

Definition at line 60 of file Object.cc.

References Object::attributeState, and Object::sf.

## Member Function Documentation

void display | ( |  | ) | const

Display informations about this object (see RootObj::display).

Definition at line 73 of file Object.cc.

References Object::handle, and Object::name.

void addAttribute | ( | ObjectAttribute * | new_attribute | ) |

Definition at line 85 of file Object.cc.

References Object::attributeState.

ObjectAttribute * getAttribute | ( | AttributeHandle | the_attribute | ) | const throw (AttributeNotDefined)

getAttribute.

Definition at line 93 of file Object.cc.

References Object::attributeState.

Referenced by ObjectClass::broadcastClassMessage(), RootObject::getObjectAttribute(), and RootObject::getObjectClassAttribute().

bool isAttributeOwnedByFederate | ( | FederateHandle | the_federate,
|  | AttributeHandle | the_attribute |
| ) |  |  | const throw (AttributeNotDefined, RTIinternalError)

Verify that the attribute owner is federate.

Definition at line 136 of file Object.cc.

References Object::attributeState.

ObjectClassHandle getClass | ( |  | ) | const

Definition at line 107 of file Object.cc.

References Object::classHandle.

Referenced by ObjectSet::getObjectClass(), and ObjectClassSet::updateAttributeValues().

void setClass | ( | ObjectClassHandle | h | ) |

Definition at line 114 of file Object.cc.

References Object::classHandle.

FederateHandle getOwner | ( |  | ) | const

Definition at line 121 of file Object.cc.

References Object::Owner.

Referenced by ObjectClass::deleteInstance().

void setOwner | ( | FederateHandle | the_federate | ) |

Definition at line 128 of file Object.cc.

References Object::Owner.

Referenced by ObjectClass::attributeOwnershipAcquisition(), ObjectClass::attributeOwnershipAcquisitionIfAvailable(), and ObjectClass::attributeOwnershipReleaseResponse().

void unassociate | ( | RTIRegion * | region | ) |

Unassociate attributes from this region.

Definition at line 153 of file Object.cc.

References Object::attributeState.

Referenced by Federation::associateRegion(), DataDistribution::associateRegion(), Federation::registerObjectWithRegion(), Federation::unassociateRegion(), and DataDistribution::unassociateRegion().

## Member Data Documentation

FederateHandle Owner

Owner Handle BUG: Should be handled at the attribute level, not instance level.

Definition at line 77 of file Object.hh.

Referenced by Object::getOwner(), and Object::setOwner().

std::deque<ObjectAttribute *> attributeState`[private]`

Attribute list from object class instance (private).

Definition at line 81 of file Object.hh.

Referenced by Object::addAttribute(), Object::getAttribute(), Object::isAttributeOwnedByFederate(), Object::unassociate(), and Object::~Object().

ObjectHandle handle`[private]`

Object Instance ID.

Reimplemented from Handled.

Definition at line 83 of file Object.hh.

Referenced by Object::display().

ObjectClassHandle classHandle`[private]`

Definition at line 84 of file Object.hh.

Referenced by Object::getClass(), and Object::setClass().

ObjectName_t name`[private]`

Object Class.

Instance name.

Reimplemented from Named.

Definition at line 85 of file Object.hh.

Referenced by Object::display().

std::list<FederateHandle *> sf`[private]`

federate list subscribed to this class and with subscription region intersect with UR.

Definition at line 90 of file Object.hh.

Referenced by Object::~Object().

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

- Object.hh
- Object.cc