ObjectClassSet Class Reference

This class represents a set of object classes. More...

#include <ObjectClassSet.hh>

Inheritance diagram for ObjectClassSet:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 ObjectClassSet (SecurityServer *theSecurityServer, bool isRootClassSet=false)
 ~ObjectClassSet ()
 Destructor.
void addClass (ObjectClass *theClass, ObjectClass *parentClass) throw (RTIinternalError)
 Add an object class to the set.
AttributeHandle getAttributeHandle (const char *the_name, ObjectClassHandle the_class) const throw (NameNotFound, ObjectClassNotDefined, RTIinternalError)
 getAttributeHandle.
const char * getAttributeName (AttributeHandle the_handle, ObjectClassHandle the_class) const throw (AttributeNotDefined, ObjectClassNotDefined, RTIinternalError)
 getAttributeName.
ObjectClassHandle getObjectClassHandle (std::string) const throw (NameNotFound)
 getObjectClassHandle.
std::string getObjectClassName (ObjectClassHandle the_handle) const throw (ObjectClassNotDefined)
 getObjectClassName.
void killFederate (FederateHandle theFederate) throw ()
 killFederate.
void publish (FederateHandle theFederateHandle, ObjectClassHandle theClassHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize, bool PubOrUnpub) throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError, SecurityError)
 publish
void subscribe (FederateHandle, ObjectClassHandle, std::vector< AttributeHandle > &, int theListSize, const RTIRegion *=0) throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError, SecurityError)
 Subscribes a federate to a set of attributes with a region.
void deleteObject (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, FederationTime theTime, std::string theTag) throw (DeletePrivilegeNotHeld, ObjectNotKnown, RTIinternalError)
 deleteObject with time.
void deleteObject (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::string theTag) throw (DeletePrivilegeNotHeld, ObjectNotKnown, RTIinternalError)
 deleteObject without time.
void registerObjectInstance (FederateHandle, Object *, ObjectClassHandle) throw (InvalidObjectHandle, ObjectClassNotDefined, ObjectClassNotPublished, ObjectAlreadyRegistered, RTIinternalError)
 registerInstance.
void updateAttributeValues (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttribArray, std::vector< AttributeValue_t > &theValueArray, UShort theArraySize, FederationTime theTime, const char *theUserTag) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError, InvalidObjectHandle)
 updateAttributeValues with time
void updateAttributeValues (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttribArray, std::vector< AttributeValue_t > &theValueArray, UShort theArraySize, const char *theUserTag) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError, InvalidObjectHandle)
 updateAttributeValues without time
void negotiatedAttributeOwnershipDivestiture (FederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &, UShort theListSize, const char *theTag) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, AttributeAlreadyBeingDivested, RTIinternalError)
 negotiatedAttributeOwnershipDivestiture.
void attributeOwnershipAcquisitionIfAvailable (FederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &, UShort theListSize) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, AttributeAlreadyBeingAcquired, RTIinternalError)
 attributeOwnershipAcquisitionIfAvailable.
void unconditionalAttributeOwnershipDivestiture (FederateHandle, ObjectHandle, std::vector< AttributeHandle > &, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError)
 unconditionalAttributeOwnershipDivestiture
void attributeOwnershipAcquisition (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize, const char *theTag) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, RTIinternalError)
 attributeOwnershipAcquisition.
AttributeHandleSetattributeOwnershipReleaseResponse (FederateHandle, ObjectHandle, std::vector< AttributeHandle > &, UShort) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, FederateWasNotAskedToReleaseAttribute, RTIinternalError)
 attributeOwnershipReleaseResponse.
void cancelAttributeOwnershipAcquisition (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned, AttributeAcquisitionWasNotRequested, RTIinternalError)
 cancelAttributeOwnershipAcquisition.
ObjectgetObject (ObjectHandle) const throw (ObjectNotKnown)
 Get object.

Private Member Functions

ObjectClassgetInstanceClass (ObjectHandle theObjectHandle) const throw (ObjectNotKnown)
 getInstanceClass.

Private Attributes

SecurityServerserver
 This object will help to find the TCPLink associated with a Federate.


Detailed Description

This class represents a set of object classes.

Definition at line 49 of file ObjectClassSet.hh.


Constructor & Destructor Documentation

ObjectClassSet ( SecurityServer theSecurityServer,
bool  isRootClassSet = false 
)

Definition at line 49 of file ObjectClassSet.cc.

References ObjectClassSet::server.

~ObjectClassSet (  ) 

Destructor.

Definition at line 58 of file ObjectClassSet.cc.


Member Function Documentation

void addClass ( ObjectClass theClass,
ObjectClass parentClass 
) throw (RTIinternalError)

Add an object class to the set.

Parameters:
[in] theClass the object class to be added
[in] parentClass the parent class (may be NULL)

Definition at line 64 of file ObjectClassSet.cc.

References certi::D, PrettyDebug::Out(), pdInit, and ObjectClassSet::server.

Referenced by RootObject::addObjectClass(), and ObjectClass::addSubClass().

Here is the call graph for this function:

AttributeHandle getAttributeHandle ( const char *  the_name,
ObjectClassHandle  the_class 
) const throw (NameNotFound, ObjectClassNotDefined, RTIinternalError)

getAttributeHandle.

Definition at line 163 of file ObjectClassSet.cc.

References certi::D, certi::G, ObjectClass::getAttributeHandle(), TreeNamedAndHandledSet::getObjectFromHandle(), PrettyDebug::Out(), pdGendoc, and pdRequest.

Referenced by ObjectManagement::getAttributeHandle().

Here is the call graph for this function:

const char * getAttributeName ( AttributeHandle  the_handle,
ObjectClassHandle  the_class 
) const throw (AttributeNotDefined, ObjectClassNotDefined, RTIinternalError)

getAttributeName.

Definition at line 198 of file ObjectClassSet.cc.

References certi::D, ObjectClass::getAttributeName(), TreeNamedAndHandledSet::getObjectFromHandle(), PrettyDebug::Out(), and pdRequest.

Referenced by ObjectManagement::getAttributeName().

Here is the call graph for this function:

ObjectClassHandle getObjectClassHandle ( std::string  class_name  )  const throw (NameNotFound)

getObjectClassHandle.

Definition at line 258 of file ObjectClassSet.cc.

References TreeNamedAndHandledSet::getHandleFromName().

Referenced by ObjectManagement::getObjectClassHandle().

Here is the call graph for this function:

string getObjectClassName ( ObjectClassHandle  the_handle  )  const throw (ObjectClassNotDefined)

getObjectClassName.

Definition at line 266 of file ObjectClassSet.cc.

References certi::D, TreeNamedAndHandledSet::getNameFromHandle(), PrettyDebug::Out(), and pdRequest.

Referenced by ObjectManagement::getObjectClassName().

Here is the call graph for this function:

void killFederate ( FederateHandle  theFederate  )  throw ()

killFederate.

Definition at line 275 of file ObjectClassSet.cc.

References certi::D, TreeNamedAndHandledSet::fromHandle, TreeNamedAndHandledSet::getObjectFromHandle(), PrettyDebug::Out(), pdExcept, and pdRegister.

Referenced by RootObject::killFederate().

Here is the call graph for this function:

void publish ( FederateHandle  theFederateHandle,
ObjectClassHandle  theClassHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize,
bool  PubOrUnpub 
) throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError, SecurityError)

void subscribe ( FederateHandle  federate,
ObjectClassHandle  class_handle,
std::vector< AttributeHandle > &  attributes,
int  nb,
const RTIRegion region = 0 
) throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError, SecurityError)

Subscribes a federate to a set of attributes with a region.

Sends the discovery messages if necessary.

Parameters:
federate Federate to subscribe
class_handle Class to be subscribed
attributes List of attributes to be subscribed
nb Number of attributes
region Subscription region (0 for default)

Definition at line 402 of file ObjectClassSet.cc.

References certi::fedparser::federate, TreeNamedAndHandledSet::getObjectFromHandle(), ObjectClass::recursiveDiscovering(), and ObjectClass::subscribe().

Referenced by Federation::subscribeAttributesWR(), and Federation::subscribeObject().

Here is the call graph for this function:

void deleteObject ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
FederationTime  theTime,
std::string  theTag 
) throw (DeletePrivilegeNotHeld, ObjectNotKnown, RTIinternalError)

void deleteObject ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::string  theTag 
) throw (DeletePrivilegeNotHeld, ObjectNotKnown, RTIinternalError)

void registerObjectInstance ( FederateHandle  the_federate,
Object the_object,
ObjectClassHandle  the_class 
) throw (InvalidObjectHandle, ObjectClassNotDefined, ObjectClassNotPublished, ObjectAlreadyRegistered, RTIinternalError)

void updateAttributeValues ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttribArray,
std::vector< AttributeValue_t > &  theValueArray,
UShort  theArraySize,
FederationTime  theTime,
const char *  theUserTag 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError, InvalidObjectHandle)

void updateAttributeValues ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttribArray,
std::vector< AttributeValue_t > &  theValueArray,
UShort  theArraySize,
const char *  theUserTag 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError, InvalidObjectHandle)

void negotiatedAttributeOwnershipDivestiture ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize,
const char *  theTag 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, AttributeAlreadyBeingDivested, RTIinternalError)

void attributeOwnershipAcquisitionIfAvailable ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize 
) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, AttributeAlreadyBeingAcquired, RTIinternalError)

attributeOwnershipAcquisitionIfAvailable.

Definition at line 559 of file ObjectClassSet.cc.

References ObjectClass::attributeOwnershipAcquisitionIfAvailable(), and ObjectClassSet::getInstanceClass().

Referenced by Federation::acquireIfAvailable().

Here is the call graph for this function:

void unconditionalAttributeOwnershipDivestiture ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, RTIinternalError)

unconditionalAttributeOwnershipDivestiture

Definition at line 585 of file ObjectClassSet.cc.

References ObjectClass::broadcastClassMessage(), certi::D, ObjectClass::getHandle(), ObjectClassSet::getInstanceClass(), TreeNamedAndHandledSet::getObjectFromHandle(), ObjectClass::getSuperclass(), PrettyDebug::Out(), and pdProtocol.

Referenced by Federation::divest().

Here is the call graph for this function:

void attributeOwnershipAcquisition ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize,
const char *  theTag 
) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, RTIinternalError)

attributeOwnershipAcquisition.

Definition at line 628 of file ObjectClassSet.cc.

References ObjectClass::attributeOwnershipAcquisition(), and ObjectClassSet::getInstanceClass().

Referenced by Federation::acquire().

Here is the call graph for this function:

AttributeHandleSet * attributeOwnershipReleaseResponse ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, FederateWasNotAskedToReleaseAttribute, RTIinternalError)

attributeOwnershipReleaseResponse.

Definition at line 654 of file ObjectClassSet.cc.

References ObjectClass::attributeOwnershipReleaseResponse(), and ObjectClassSet::getInstanceClass().

Referenced by Federation::respondRelease().

Here is the call graph for this function:

void cancelAttributeOwnershipAcquisition ( FederateHandle  theFederateHandle,
ObjectHandle  theObjectHandle,
std::vector< AttributeHandle > &  theAttributeList,
UShort  theListSize 
) throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned, AttributeAcquisitionWasNotRequested, RTIinternalError)

cancelAttributeOwnershipAcquisition.

Definition at line 677 of file ObjectClassSet.cc.

References ObjectClass::cancelAttributeOwnershipAcquisition(), and ObjectClassSet::getInstanceClass().

Referenced by Federation::cancelAcquisition().

Here is the call graph for this function:

Object * getObject ( ObjectHandle  h  )  const throw (ObjectNotKnown)

Get object.

Definition at line 238 of file ObjectClassSet.cc.

References TreeNamedAndHandledSet::fromHandle.

Referenced by ObjectClassSet::updateAttributeValues().

ObjectClass * getInstanceClass ( ObjectHandle  theObjectHandle  )  const throw (ObjectNotKnown) [private]


Member Data Documentation

SecurityServer* server [private]

This object will help to find the TCPLink associated with a Federate.

This reference is passed to all new ObjectClass.

Definition at line 187 of file ObjectClassSet.hh.

Referenced by ObjectClassSet::addClass(), and ObjectClassSet::ObjectClassSet().


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

Generated on Thu Apr 30 15:58:27 2009 for CERTIDeveloperDocumentation by doxygen 1.5.5