# Federation Class Reference

`#include <Federation.hh>`

List of all members.

## Public Member Functions
| Federation (const char *, Handle, SocketServer &, AuditFile &, const char *, int theVerboseLevel) throw (CouldNotOpenFED, ErrorReadingFED, MemoryExhausted, SecurityError, RTIinternalError)
| Allocates memory the Name's storage, and read its FED file to store the result in RootObj.
| ~Federation ()
int | getNbFederates () const
| Returns the number of federates in federation.
int | getNbRegulators () const
| Returns the number of federates regulator.
bool | isSynchronizing () const
| Return true if federation is being synchronized.
Handle | getHandle () const
| Returns the federation handle.
const char * | getName () const
| Returns the federation name given in 'Create Federation Execution'.
const char * | getFEDid () const
| Returns the FEDid name given in 'Create Federation Execution'.
FederateHandle | add (const char *theName, SocketTCP *theTCPLink) throw (FederateAlreadyExecutionMember, MemoryExhausted, RTIinternalError)
bool | empty () const throw (FederatesCurrentlyJoined)
| Return true if no federates are in federation.
bool | check (FederateHandle theHandle) const throw (FederateNotExecutionMember)
| Return true if federate is in federation.
void | kill (FederateHandle theFederate) throw ()
| Make a federate resign the federation.
void | remove (FederateHandle theHandle) throw (FederateOwnsAttributes, FederateNotExecutionMember)
| Remove a federate.
void | addRegulator (FederateHandle theHandle, FederationTime theTime) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
| Add the Federate to the Regulators List.
void | updateRegulator (FederateHandle theHandle, FederationTime theTime) throw (FederateNotExecutionMember, RTIinternalError)
| Update the current time of a regulator federate.
void | removeRegulator (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
| Remove the Federate from the Regulators' list.
void | addConstrained (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | removeConstrained (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
| Set Federate's IsConstrained to false.
void | registerSynchronization (FederateHandle the_federate, const char *the_label, const char *the_tag) throw (FederateNotExecutionMember, FederationAlreadyPaused, SaveInProgress, RestoreInProgress, RTIinternalError)
| Add a new synchronization point to federation.
void | registerSynchronization (FederateHandle the_federate, const char *the_label, const char *the_tag, unsigned short federate_setSize, std::vector< FederateHandle > &federate_set) throw (FederateNotExecutionMember, FederationAlreadyPaused, SaveInProgress, RestoreInProgress, RTIinternalError)
| Add a new synchronization point (with federates set) to federation.
void | unregisterSynchronization (FederateHandle theFederate, const char *theLabel) throw (FederateNotExecutionMember, FederationNotPaused, SaveInProgress, RestoreInProgress, RTIinternalError)
| unregisterSynchronization.
void | broadcastSynchronization (FederateHandle federate, const char *label, const char *tag) throw (RTIinternalError)
void | broadcastSynchronization (FederateHandle federate, const char *label, const char *tag, unsigned short federate_setSize, std::vector< FederateHandle > &federate_set) throw (RTIinternalError)
void | requestFederationSave (FederateHandle, const char *, FederationTime) throw (FederateNotExecutionMember, SaveInProgress)
| Request a federation save with time.
void | requestFederationSave (FederateHandle, const char *) throw (FederateNotExecutionMember, SaveInProgress)
| Request a federation save without time.
void | federateSaveBegun (FederateHandle) throw (FederateNotExecutionMember)
void | federateSaveStatus (FederateHandle, bool) throw (FederateNotExecutionMember)
| Informs that a federate returns a save end message (with success or not!).
void | requestFederationRestore (FederateHandle the_federate, const char *the_label) throw (FederateNotExecutionMember)
| Informs that a federate is requesting a save.
void | federateRestoreStatus (FederateHandle the_federate, bool the_status) throw (FederateNotExecutionMember)
| Informs that a federate has ended a restore.
void | deleteObject (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, FederationTime theTime, const char *theUserTag) throw (FederateNotExecutionMember, DeletePrivilegeNotHeld, ObjectNotKnown, SaveInProgress, RestoreInProgress, InvalidFederationTime, RTIinternalError)
| Removes an object instance from federation.
void | deleteObject (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, const char *theUserTag) throw (FederateNotExecutionMember, DeletePrivilegeNotHeld, ObjectNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
| Removes an object instance from federation.
void | publishObject (FederateHandle theFederateHandle, ObjectClassHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize, bool PubOrUnpub) throw (ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)
ObjectHandle | registerObject (FederateHandle theFederateHandle, ObjectClassHandle theClass, const char *theName) throw (FederateNotExecutionMember, FederateNotPublishing, ObjectAlreadyRegistered, ObjectClassNotDefined, ObjectClassNotPublished, SaveInProgress, RestoreInProgress, RTIinternalError)
| Adds a new object instance to federation.
FederateHandle | requestObjectOwner (FederateHandle theFederateHandle, ObjectHandle theObject, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown)
void | subscribeObject (FederateHandle theFederateHandle, ObjectClassHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)
| Subscribes attributes to an object class.
void | updateAttributeValues (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, std::vector< AttributeValue_t > &theValueList, UShort theListSize, FederationTime theTime, const char *theTag) throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, SaveInProgress, RestoreInProgress, RTIinternalError)
void | updateAttributeValues (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, std::vector< AttributeValue_t > &theValueList, UShort theListSize, const char *theTag) throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, SaveInProgress, RestoreInProgress, RTIinternalError)
void | broadcastInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, std::vector< ParameterHandle > &theParameterList, std::vector< ParameterValue_t > &theValueList, UShort theListSize, FederationTime theTime, RegionHandle, const char *theTag) throw (FederateNotExecutionMember, FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)
| broadcastInteraction with time
void | broadcastInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, std::vector< ParameterHandle > &theParameterList, std::vector< ParameterValue_t > &theValueList, UShort theListSize, RegionHandle, const char *theTag) throw (FederateNotExecutionMember, FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)
| broadcastInteraction without time
void | publishInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, bool PubOrUnpub) throw (InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)
void | subscribeInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, bool SubOrUnsub) throw (InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)
bool | isOwner (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, AttributeHandle theAttribute) throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)
void | queryAttributeOwnership (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, AttributeHandle theAttribute) throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)
void | negotiateDivestiture (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize, const char *theTag) throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, AttributeAlreadyBeingDivested, SaveInProgress, RestoreInProgress, RTIinternalError)
void | acquireIfAvailable (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, AttributeAlreadyBeingAcquired, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | divest (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | acquire (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize, const char *theTag) throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, FederateOwnsAttributes, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | cancelDivestiture (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, AttributeDivestitureWasNotRequested, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
AttributeHandleSet * | respondRelease (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, FederateWasNotAskedToReleaseAttribute, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | cancelAcquisition (FederateHandle theFederateHandle, ObjectHandle theObjectHandle, std::vector< AttributeHandle > &theAttributeList, UShort theListSize) throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned, AttributeAcquisitionWasNotRequested, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
long | createRegion (FederateHandle, SpaceHandle, long) throw (SpaceNotDefined, InvalidExtents, SaveInProgress, RestoreInProgress, RTIinternalError)
void | modifyRegion (FederateHandle, RegionHandle, const std::vector< Extent > &) throw (RegionNotKnown, InvalidExtents, SaveInProgress, RestoreInProgress, RTIinternalError)
void | deleteRegion (FederateHandle, long) throw (RegionNotKnown, RegionInUse, SaveInProgress, RestoreInProgress, RTIinternalError)
| deleteRegion
void | associateRegion (FederateHandle, ObjectHandle, RegionHandle, unsigned short, std::vector< AttributeHandle > &) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
| associateRegion
void | unassociateRegion (FederateHandle, ObjectHandle, RegionHandle) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
| unassociateRegion
void | subscribeAttributesWR (FederateHandle, ObjectClassHandle, RegionHandle, unsigned short, std::vector< AttributeHandle > &) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
| subscribeAttributesWR
void | unsubscribeAttributesWR (FederateHandle, ObjectClassHandle, RegionHandle) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
| unsubscribeAttributesWR
void | subscribeInteractionWR (FederateHandle, InteractionClassHandle, RegionHandle) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
void | unsubscribeInteractionWR (FederateHandle, InteractionClassHandle, RegionHandle) throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
ObjectHandle | registerObjectWithRegion (FederateHandle, ObjectClassHandle, const char *, RegionHandle, int, std::vector< AttributeHandle > &) throw (ObjectClassNotDefined, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, RegionNotKnown, InvalidRegionContext, ObjectAlreadyRegistered, SaveInProgress, RestoreInProgress, RTIinternalError)
void | setClassRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | unsetClassRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | setInteractionRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | unsetInteractionRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | setAttributeRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | unsetAttributeRelevanceAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | setAttributeScopeAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
void | unsetAttributeScopeAdvisorySwitch (FederateHandle theHandle) throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)
## Private Types
typedef std::vector< Federate > | FederateList
## Private Member Functions
bool | saveXmlData ()
bool | restoreXmlData ()
void | broadcastAnyMessage (NetworkMessage *msg, FederateHandle Except)
| Broadcast 'msg' to all Federate except the specified one.
void | broadcastSomeMessage (NetworkMessage *msg, FederateHandle Except, std::vector< FederateHandle > &fede_array, int nbfed)
| Broadcast 'msg' to some Federates except the specified one.
Federate & | getFederate (const char *theName) throw (FederateNotExecutionMember)
| Return the Federate whose Name is theName, if found.
Federate & | getFederate (FederateHandle theHandle) throw (FederateNotExecutionMember)
| Return the Federate whose Handle is theHandle, if found.
## Private Attributes
Handle | handle
std::string | name
std::string | FEDid
std::map< const char *, const char * > | synchronizationLabels
| Labels and Tags not on synchronization.
HandleManager< FederateHandle > | federateHandles
HandleManager< ObjectHandle > | objectHandles
SecurityServer * | server
RootObject * | root
LBTS | regulators
FederateList | federates
bool | saveInProgress
bool | restoreInProgress
bool | saveStatus
| True if saving was correctly done, false otherwise.
bool | restoreStatus
| True if restoring was correctly done.
int | verboseLevel
std::string | saveLabel
| The label associated with the save request.
MessageBuffer | NM_msgBufSend

## Detailed Description

Definition at line 54 of file Federation.hh.

## Member Typedef Documentation

typedef std::vector<Federate> FederateList`[private]`

Definition at line 659 of file Federation.hh.

## Constructor & Destructor Documentation

Federation | ( | const char * | federation_name,
|  | Handle | federation_handle,
|  | SocketServer & | socket_server,
|  | AuditFile & | audit_server,
|  | const char * | FEDid_name,
|  | int | theVerboseLevel |
| ) |  |  | throw (CouldNotOpenFED, ErrorReadingFED, MemoryExhausted, SecurityError, RTIinternalError)

Allocates memory the Name's storage, and read its FED file to store the result in RootObj.

with FEDERATION_USES_MULTICAST not defined

Parameters:

  | federation_name |
  | federation_handle |
  | socket_server |
  | audit_server |
  | FEDid_name | i.e. FED file name (may be a .fed or a .xml file)

Definition at line 107 of file Federation.cc.

References certi::fedparser::build(), certi::rtig::D, XmlParser::exists(), certi::rtig::G, PrettyDebug::Out(), XmlParser::parse(), pdExcept, pdGendoc, pdInit, pdTrace, STAT_FUNCTION, and STAT_STRUCT.

Here is the call graph for this function:

~Federation | ( |  | ) |

Definition at line 354 of file Federation.cc.

References certi::rtig::D, Federation::handle, PrettyDebug::Out(), pdInit, Federation::root, and Federation::server.

Here is the call graph for this function:

## Member Function Documentation

bool saveXmlData | ( |  | ) | `[private]`

Definition at line 2483 of file Federation.cc.

References certi::fedparser::federate, Federation::federates, Federation::handle, Federation::name, and Federation::saveLabel.

Referenced by Federation::federateSaveStatus().

bool restoreXmlData | ( |  | ) | `[private]`

Definition at line 2416 of file Federation.cc.

References Federation::federates, and Federation::name.

Referenced by Federation::requestFederationRestore().

int getNbFederates | ( |  | ) | const

Returns the number of federates in federation.

Definition at line 378 of file Federation.cc.

References Federation::federates.

Referenced by FederationsList::info().

int getNbRegulators | ( |  | ) | const

Returns the number of federates regulator.

Definition at line 410 of file Federation.cc.

References Federation::regulators, and LBTS::size().

Referenced by FederationsList::info().

Here is the call graph for this function:

bool isSynchronizing | ( |  | ) | const

Return true if federation is being synchronized.

Definition at line 386 of file Federation.cc.

References Federation::synchronizationLabels.

Referenced by Federation::add(), and FederationsList::info().

Handle getHandle | ( |  | ) | const

Returns the federation handle.

Definition at line 394 of file Federation.cc.

References Federation::handle.

const char * getName | ( |  | ) | const

Returns the federation name given in 'Create Federation Execution'.

Definition at line 402 of file Federation.cc.

References Federation::name.

Referenced by Federation::getFederate().

const char * getFEDid | ( |  | ) | const

Returns the FEDid name given in 'Create Federation Execution'.

Definition at line 418 of file Federation.cc.

References Federation::FEDid.

Referenced by FederationsList::info().

FederateHandle add | ( | const char * | federate_name,
|  | SocketTCP * | tcp_link |
| ) |  |  | throw (FederateAlreadyExecutionMember, MemoryExhausted, RTIinternalError)

Add the Federate to the Federation, and return its new federate handle. Also send Null messages from all others federates to initialize its LBTS, and finally a RequestPause message if the Federation is already paused.

Definition at line 430 of file Federation.cc.

References certi::rtig::D, NetworkMessage::federate, Federation::federateHandles, Federation::federates, NetworkMessage::federation, LBTS::get(), Federation::getFederate(), NetworkMessage::getType(), Federation::handle, Federation::isSynchronizing(), Federation::NM_msgBufSend, PrettyDebug::Out(), pdExcept, pdInit, pdTerm, Federation::regulators, NetworkMessage::send(), NetworkMessage::setDate(), NetworkMessage::setLabel(), NetworkMessage::setTag(), and Federation::synchronizationLabels.

Referenced by FederationsList::addFederate().

Here is the call graph for this function:

bool empty | ( |  | ) | const throw (FederatesCurrentlyJoined)

Return true if no federates are in federation.

Return true if there are no Federates left in the Federation, else throw FederatesCurrentlyJoined.

Definition at line 1448 of file Federation.cc.

References Federation::federates.

Referenced by FederationsList::destroyFederation().

bool check | ( | FederateHandle | federate_handle | ) | const throw (FederateNotExecutionMember)

Return true if federate is in federation.

Return true if the Federate is part of the Federation, else throw an exception.

Definition at line 1463 of file Federation.cc.

References Federation::federates.

Referenced by Federation::acquire(), Federation::acquireIfAvailable(), Federation::associateRegion(), Federation::broadcastInteraction(), Federation::broadcastSynchronization(), Federation::cancelAcquisition(), Federation::cancelDivestiture(), Federation::createRegion(), Federation::deleteObject(), Federation::deleteRegion(), Federation::divest(), Federation::federateSaveBegun(), Federation::isOwner(), Federation::modifyRegion(), Federation::negotiateDivestiture(), Federation::publishInteraction(), Federation::publishObject(), Federation::queryAttributeOwnership(), Federation::registerObjectWithRegion(), Federation::registerSynchronization(), Federation::requestFederationRestore(), Federation::requestFederationSave(), Federation::respondRelease(), Federation::subscribeAttributesWR(), Federation::subscribeInteraction(), Federation::subscribeInteractionWR(), Federation::subscribeObject(), Federation::unassociateRegion(), Federation::unregisterSynchronization(), Federation::unsubscribeAttributesWR(), Federation::unsubscribeInteractionWR(), and Federation::updateAttributeValues().

void kill | ( | FederateHandle | federate | ) | throw ()

Make a federate resign the federation.

This function tries to remove all references to this federate in the federation. To be used when a Federate is supposed to have crashed.

Parameters:

  | federate | Handle of the federate to kill

Definition at line 1481 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, RootObject::killFederate(), PrettyDebug::Out(), pdInit, pdTrace, Federation::removeConstrained(), Federation::removeRegulator(), and Federation::root.

Referenced by FederationsList::killFederate().

Here is the call graph for this function:

void remove | ( | FederateHandle | federate_handle | ) | throw (FederateOwnsAttributes, FederateNotExecutionMember)

Remove a federate.

Parameters:

  | federate_handle | Handle of the federate to remove.

Bug:
  Currently does not check if Federate owns attributes. The Federate Object is deleted.

Definition at line 1606 of file Federation.cc.

References certi::rtig::D, Federation::federateHandles, Federation::federates, Federation::handle, PrettyDebug::Out(), pdExcept, and pdInit.

Referenced by FederationsList::remove().

Here is the call graph for this function:

void addRegulator | ( | FederateHandle | federate_handle,
|  | FederationTime | time |
| ) |  |  | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Add the Federate to the Regulators List.

Check if it's already present, but not if the Time 'theTime' is allowed or not.

Definition at line 701 of file Federation.cc.

References Federation::broadcastAnyMessage(), certi::rtig::D, certi::e_NO_EXCEPTION, NetworkMessage::federate, certi::fedparser::federate, NetworkMessage::federation, Federation::getFederate(), Federation::handle, LBTS::insert(), PrettyDebug::Out(), pdTerm, NM_Set_Time_Regulating::regulatorOn(), Federation::regulators, NetworkMessage::setDate(), and Federate::setRegulator().

Referenced by FederationsList::createRegulator().

Here is the call graph for this function:

void updateRegulator | ( | FederateHandle | theHandle,
|  | FederationTime | theTime |
| ) |  |  | throw (FederateNotExecutionMember, RTIinternalError)

Update the current time of a regulator federate.

Definition at line 1944 of file Federation.cc.

References Federation::broadcastAnyMessage(), certi::rtig::D, NetworkMessage::federate, certi::fedparser::federate, NetworkMessage::federation, Federation::getFederate(), Federation::handle, Federate::isRegulator(), PrettyDebug::Out(), pdExcept, pdTerm, Federation::regulators, NetworkMessage::setDate(), and LBTS::update().

Referenced by FederationsList::updateRegulator().

Here is the call graph for this function:

void removeRegulator | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Remove the Federate from the Regulators' list.

Definition at line 1651 of file Federation.cc.

References Federation::broadcastAnyMessage(), certi::rtig::D, NetworkMessage::federate, certi::fedparser::federate, NetworkMessage::federation, Federation::getFederate(), Federation::handle, PrettyDebug::Out(), pdTerm, NM_Set_Time_Regulating::regulatorOff(), Federation::regulators, LBTS::remove(), and Federate::setRegulator().

Referenced by Federation::kill(), and FederationsList::removeRegulator().

Here is the call graph for this function:

void addConstrained | ( | FederateHandle | federate_handle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

FIXME: name/ merge with removeConstrained.

Definition at line 500 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isConstrained(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setConstrained().

Referenced by FederationsList::addConstrained().

Here is the call graph for this function:

void removeConstrained | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Set Federate's IsConstrained to false.

Definition at line 1629 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isConstrained(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setConstrained().

Referenced by Federation::kill(), and FederationsList::removeConstrained().

Here is the call graph for this function:

void registerSynchronization | ( | FederateHandle | the_federate,
|  | const char * | the_label,
|  | const char * | the_tag |
| ) |  |  | throw (FederateNotExecutionMember, FederationAlreadyPaused, SaveInProgress, RestoreInProgress, RTIinternalError)

Add a new synchronization point to federation.

Definition at line 969 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, Federation::federates, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, pdTerm, and Federation::synchronizationLabels.

Referenced by FederationsList::manageSynchronization().

Here is the call graph for this function:

void registerSynchronization | ( | FederateHandle | the_federate,
|  | const char * | the_label,
|  | const char * | the_tag,
|  | unsigned short | federate_setSize,
|  | std::vector< FederateHandle > & | federate_set |
| ) |  |  | throw (FederateNotExecutionMember, FederationAlreadyPaused, SaveInProgress, RestoreInProgress, RTIinternalError)

Add a new synchronization point (with federates set) to federation.

Definition at line 1016 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, Federation::federates, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, pdTerm, and Federation::synchronizationLabels.

Here is the call graph for this function:

void unregisterSynchronization | ( | FederateHandle | theFederate,
|  | const char * | theLabel |
| ) |  |  | throw (FederateNotExecutionMember, FederationNotPaused, SaveInProgress, RestoreInProgress, RTIinternalError)

unregisterSynchronization.

Definition at line 1679 of file Federation.cc.

References Federation::broadcastAnyMessage(), Federation::check(), certi::rtig::D, NetworkMessage::federate, certi::fedparser::federate, Federation::federates, NetworkMessage::federation, certi::rtig::G, Federation::getFederate(), Federation::handle, PrettyDebug::Out(), pdGendoc, pdTerm, Federate::removeSynchronizationLabel(), NetworkMessage::setLabel(), and Federation::synchronizationLabels.

Referenced by FederationsList::manageSynchronization().

Here is the call graph for this function:

void broadcastSynchronization | ( | FederateHandle | federate,
|  | const char * | label,
|  | const char * | tag |
| ) |  |  | throw (RTIinternalError)

Broadcast an 'Announce Synchronization Point' when registering a new synchronization point.

Definition at line 1072 of file Federation.cc.

References Federation::broadcastAnyMessage(), Federation::check(), NetworkMessage::federate, certi::fedparser::federate, NetworkMessage::federation, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, NetworkMessage::setLabel(), and NetworkMessage::setTag().

Referenced by FederationsList::broadcastSynchronization().

Here is the call graph for this function:

void broadcastSynchronization | ( | FederateHandle | federate,
|  | const char * | label,
|  | const char * | tag,
|  | unsigned short | federate_setSize,
|  | std::vector< FederateHandle > & | federate_set |
| ) |  |  | throw (RTIinternalError)

Broadcast an 'Announce Synchronization Point' when registering a new synchronization point onto a set of federates

Definition at line 1105 of file Federation.cc.

References Federation::broadcastSomeMessage(), Federation::check(), NetworkMessage::federate, certi::fedparser::federate, NetworkMessage::federation, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, NetworkMessage::setLabel(), and NetworkMessage::setTag().

Here is the call graph for this function:

void requestFederationSave | ( | FederateHandle | the_federate,
|  | const char * | the_label,
|  | FederationTime | time |
| ) |  |  | throw (FederateNotExecutionMember, SaveInProgress)

Request a federation save with time.

This service puts each federate from federation in saving state. !! the_time is not managed yet.

Definition at line 1142 of file Federation.cc.

References Federation::broadcastAnyMessage(), Federation::check(), NetworkMessage::federate, Federation::federates, NetworkMessage::federation, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, Federation::saveInProgress, Federation::saveLabel, Federation::saveStatus, NetworkMessage::setDate(), and NetworkMessage::setLabel().

Referenced by FederationsList::requestFederationSave().

Here is the call graph for this function:

void requestFederationSave | ( | FederateHandle | the_federate,
|  | const char * | the_label |
| ) |  |  | throw (FederateNotExecutionMember, SaveInProgress)

Request a federation save without time.

This service puts each federate from federation in saving state. !! the_time is not managed yet.

Definition at line 1182 of file Federation.cc.

References Federation::broadcastAnyMessage(), Federation::check(), NetworkMessage::federate, Federation::federates, NetworkMessage::federation, certi::rtig::G, Federation::handle, PrettyDebug::Out(), pdGendoc, Federation::saveInProgress, Federation::saveLabel, Federation::saveStatus, and NetworkMessage::setLabel().

Here is the call graph for this function:

void federateSaveBegun | ( | FederateHandle | the_federate | ) | throw (FederateNotExecutionMember)

Received from a federate to inform a save has been received and is being processed. Maybe, a timeout should be set to determine if federate still alive.

Definition at line 1219 of file Federation.cc.

References Federation::check(), certi::rtig::G, PrettyDebug::Out(), and pdGendoc.

Referenced by FederationsList::federateSaveBegun().

Here is the call graph for this function:

void federateSaveStatus | ( | FederateHandle | the_federate,
|  | bool | the_status |
| ) |  |  | throw (FederateNotExecutionMember)

Informs that a federate returns a save end message (with success or not!).

Definition at line 1230 of file Federation.cc.

References Federation::broadcastAnyMessage(), NM_Factory::create(), certi::fedparser::federate, Federation::federates, NetworkMessage::FEDERATION_NOT_SAVED, NetworkMessage::FEDERATION_SAVED, certi::rtig::G, Federation::getFederate(), Federation::handle, PrettyDebug::Out(), pdGendoc, Federation::saveInProgress, Federation::saveStatus, Federation::saveXmlData(), and Federate::setSaving().

Referenced by FederationsList::federateSaveStatus().

Here is the call graph for this function:

void requestFederationRestore | ( | FederateHandle | the_federate,
|  | const char * | the_label |
| ) |  |  | throw (FederateNotExecutionMember)

Informs that a federate is requesting a save.

Definition at line 1275 of file Federation.cc.

References Federation::broadcastAnyMessage(), Federation::check(), NM_Factory::create(), NetworkMessage::federate, Federation::federates, NetworkMessage::federation, NetworkMessage::FEDERATION_RESTORE_BEGUN, certi::rtig::G, SecurityServer::getSocketLink(), Federation::handle, NetworkMessage::INITIATE_FEDERATE_RESTORE, Federation::name, Federation::NM_msgBufSend, PrettyDebug::Out(), pdGendoc, NetworkMessage::REQUEST_FEDERATION_RESTORE_FAILED, NetworkMessage::REQUEST_FEDERATION_RESTORE_SUCCEEDED, Federation::restoreInProgress, Federation::restoreStatus, Federation::restoreXmlData(), NetworkMessage::send(), Federation::server, and NetworkMessage::setLabel().

Referenced by FederationsList::requestFederationRestore().

Here is the call graph for this function:

void federateRestoreStatus | ( | FederateHandle | the_federate,
|  | bool | the_status |
| ) |  |  | throw (FederateNotExecutionMember)

Informs that a federate has ended a restore.

If each federate in federation has ended restoring, this service send a federation restore status.

Definition at line 1380 of file Federation.cc.

References Federation::broadcastAnyMessage(), NM_Factory::create(), certi::fedparser::federate, Federation::federates, NetworkMessage::FEDERATION_NOT_RESTORED, NetworkMessage::FEDERATION_RESTORED, certi::rtig::G, Federation::getFederate(), Federation::handle, PrettyDebug::Out(), pdGendoc, Federation::restoreInProgress, Federation::restoreStatus, and Federate::setRestoring().

Referenced by FederationsList::federateRestoreStatus().

Here is the call graph for this function:

void deleteObject | ( | FederateHandle | federate,
|  | ObjectHandle | id,
|  | FederationTime | theTime,
|  | const char * | tag |
| ) |  |  | throw (FederateNotExecutionMember, DeletePrivilegeNotHeld, ObjectNotKnown, SaveInProgress, RestoreInProgress, InvalidFederationTime, RTIinternalError)

Removes an object instance from federation.

Parameters:

  | federate | Federate requesting removal
  | id | Object handle
  | theTime | Federation Time
  | tag | Label for this operation

Definition at line 918 of file Federation.cc.

References Federation::check(), certi::rtig::D, RootObject::deleteObjectInstance(), certi::fedparser::federate, Federation::handle, Federation::objectHandles, PrettyDebug::Out(), pdRegister, and Federation::root.

Referenced by FederationsList::destroyObject().

Here is the call graph for this function:

void deleteObject | ( | FederateHandle | federate,
|  | ObjectHandle | id,
|  | const char * | tag |
| ) |  |  | throw (FederateNotExecutionMember, DeletePrivilegeNotHeld, ObjectNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

Removes an object instance from federation.

Parameters:

  | federate | Federate requesting removal
  | id | Object handle
  | tag | Label for this operation

Definition at line 946 of file Federation.cc.

References Federation::check(), certi::rtig::D, RootObject::deleteObjectInstance(), certi::fedparser::federate, Federation::handle, Federation::objectHandles, PrettyDebug::Out(), pdRegister, and Federation::root.

Here is the call graph for this function:

void publishObject | ( | FederateHandle | theFederateHandle,
|  | ObjectClassHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | UShort | theListSize,
|  | bool | PubOrUnpub |
| ) |  |  | throw (ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)

Definition at line 1539 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, certi::rtig::G, Federation::handle, RootObject::ObjectClasses, PrettyDebug::Out(), pdGendoc, pdRegister, ObjectClassSet::publish(), and Federation::root.

Referenced by FederationsList::publishObject().

Here is the call graph for this function:

ObjectHandle registerObject | ( | FederateHandle | theFederateHandle,
|  | ObjectClassHandle | theClass,
|  | const char * | theName |
| ) |  |  | throw (FederateNotExecutionMember, FederateNotPublishing, ObjectAlreadyRegistered, ObjectClassNotDefined, ObjectClassNotPublished, SaveInProgress, RestoreInProgress, RTIinternalError)

Adds a new object instance to federation.

Definition at line 1568 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, certi::rtig::G, Federation::handle, Federation::objectHandles, PrettyDebug::Out(), pdGendoc, pdRegister, RootObject::registerObjectInstance(), and Federation::root.

Referenced by FederationsList::registerObject().

Here is the call graph for this function:

FederateHandle requestObjectOwner | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObject,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | UShort | theListSize |
| ) |  |  | throw (ObjectNotKnown)

Definition at line 2531 of file Federation.cc.

References NetworkMessage::federate, certi::rtig::G, SecurityServer::getSocketLink(), NetworkMessage::handleArray, NetworkMessage::handleArraySize, Federation::NM_msgBufSend, NetworkMessage::object, PrettyDebug::Out(), pdGendoc, RootObject::requestObjectOwner(), Federation::root, NetworkMessage::send(), and Federation::server.

Referenced by FederationsList::requestObjectOwner().

Here is the call graph for this function:

void subscribeObject | ( | FederateHandle | theFederateHandle,
|  | ObjectClassHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | UShort | theListSize |
| ) |  |  | throw (ObjectClassNotDefined, AttributeNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)

Subscribes attributes to an object class.

After subscription, attribute publishers are notified by the federate service startRegistrationForObjectClass.

Parameters:

  `[in]` | federate | federate handle of the subscriber
  `[in]` | object | subscripted object class handle
  `[in]` | attributes | subscripted vector of attributes
  `[in]` | list_size | size of the attribute vector

Definition at line 1763 of file Federation.cc.

References Federation::broadcastSomeMessage(), Federation::check(), certi::rtig::D, certi::fedparser::federate, certi::rtig::G, ObjectClass::getAttributeList(), Federation::getFederate(), TreeNamedAndHandledSet::getObjectFromHandle(), Federation::handle, Federate::isClassRelevanceAdvisorySwitch(), RootObject::ObjectClasses, PrettyDebug::Out(), pdGendoc, pdRegister, Federation::root, and ObjectClassSet::subscribe().

Referenced by FederationsList::subscribeObject().

Here is the call graph for this function:

void updateAttributeValues | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | std::vector< AttributeValue_t > & | theValueList,
|  | UShort | theListSize,
|  | FederationTime | theTime,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 1881 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, certi::rtig::G, Federation::handle, RootObject::ObjectClasses, PrettyDebug::Out(), pdGendoc, pdRegister, Federation::root, and ObjectClassSet::updateAttributeValues().

Referenced by FederationsList::updateAttribute().

Here is the call graph for this function:

void updateAttributeValues | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | std::vector< AttributeValue_t > & | theValueList,
|  | UShort | theListSize,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 1914 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, certi::rtig::G, Federation::handle, RootObject::ObjectClasses, PrettyDebug::Out(), pdGendoc, pdRegister, Federation::root, and ObjectClassSet::updateAttributeValues().

Here is the call graph for this function:

void broadcastInteraction | ( | FederateHandle | theFederateHandle,
|  | InteractionClassHandle | theInteractionHandle,
|  | std::vector< ParameterHandle > & | theParameterList,
|  | std::vector< ParameterValue_t > & | theValueList,
|  | UShort | theListSize,
|  | FederationTime | theTime,
|  | RegionHandle | region_handle,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotExecutionMember, FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)

broadcastInteraction with time

Definition at line 817 of file Federation.cc.

References InteractionSet::broadcastInteraction(), Federation::check(), certi::rtig::D, certi::rtig::G, RootObject::getRegion(), Federation::handle, RootObject::Interactions, PrettyDebug::Out(), pdGendoc, pdRequest, and Federation::root.

Referenced by FederationsList::updateParameter().

Here is the call graph for this function:

void broadcastInteraction | ( | FederateHandle | theFederateHandle,
|  | InteractionClassHandle | theInteractionHandle,
|  | std::vector< ParameterHandle > & | theParameterList,
|  | std::vector< ParameterValue_t > & | theValueList,
|  | UShort | theListSize,
|  | RegionHandle | region_handle,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotExecutionMember, FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)

broadcastInteraction without time

Definition at line 866 of file Federation.cc.

References InteractionSet::broadcastInteraction(), Federation::check(), certi::rtig::D, certi::rtig::G, RootObject::getRegion(), Federation::handle, RootObject::Interactions, PrettyDebug::Out(), pdGendoc, pdRequest, and Federation::root.

Here is the call graph for this function:

void publishInteraction | ( | FederateHandle | theFederateHandle,
|  | InteractionClassHandle | theInteractionHandle,
|  | bool | PubOrUnpub |
| ) |  |  | throw (InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)

Definition at line 1515 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, Federation::handle, RootObject::Interactions, PrettyDebug::Out(), pdRequest, InteractionSet::publish(), and Federation::root.

Referenced by FederationsList::publishInteraction().

Here is the call graph for this function:

void subscribeInteraction | ( | FederateHandle | theFederateHandle,
|  | InteractionClassHandle | theInteractionHandle,
|  | bool | SubOrUnsub |
| ) |  |  | throw (InteractionClassNotDefined, FederateNotExecutionMember, SaveInProgress, SecurityError, RestoreInProgress, RTIinternalError)

Definition at line 1739 of file Federation.cc.

References Federation::check(), certi::rtig::D, certi::fedparser::federate, Federation::handle, RootObject::Interactions, PrettyDebug::Out(), pdRegister, Federation::root, and InteractionSet::subscribe().

Referenced by FederationsList::subscribeInteraction().

Here is the call graph for this function:

bool isOwner | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | AttributeHandle | theAttribute |
| ) |  |  | throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 1973 of file Federation.cc.

References certi::fedparser::attribute, Federation::check(), certi::rtig::D, certi::fedparser::federate, ObjectSet::isAttributeOwnedByFederate(), RootObject::objects, PrettyDebug::Out(), pdDebug, and Federation::root.

Referenced by FederationsList::isOwner().

Here is the call graph for this function:

void queryAttributeOwnership | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | AttributeHandle | theAttribute |
| ) |  |  | throw (FederateNotExecutionMember, ObjectNotKnown, AttributeNotDefined, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 1996 of file Federation.cc.

References certi::fedparser::attribute, Federation::check(), certi::rtig::D, certi::fedparser::federate, RootObject::objects, PrettyDebug::Out(), pdDebug, ObjectSet::queryAttributeOwnership(), and Federation::root.

Referenced by FederationsList::searchOwner().

Here is the call graph for this function:

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

Definition at line 2019 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, ObjectClassSet::negotiatedAttributeOwnershipDivestiture(), RootObject::ObjectClasses, and Federation::root.

Referenced by FederationsList::negotiateDivestiture().

Here is the call graph for this function:

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

Definition at line 2048 of file Federation.cc.

References ObjectClassSet::attributeOwnershipAcquisitionIfAvailable(), Federation::check(), certi::fedparser::federate, RootObject::ObjectClasses, and Federation::root.

Referenced by FederationsList::acquireIfAvailable().

Here is the call graph for this function:

void divest | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | UShort | theListSize |
| ) |  |  | throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2077 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::ObjectClasses, Federation::root, and ObjectClassSet::unconditionalAttributeOwnershipDivestiture().

Referenced by FederationsList::divest().

Here is the call graph for this function:

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

Definition at line 2103 of file Federation.cc.

References ObjectClassSet::attributeOwnershipAcquisition(), Federation::check(), certi::rtig::D, certi::fedparser::federate, RootObject::ObjectClasses, PrettyDebug::Out(), pdDebug, and Federation::root.

Referenced by FederationsList::acquire().

Here is the call graph for this function:

void cancelDivestiture | ( | FederateHandle | theFederateHandle,
|  | ObjectHandle | theObjectHandle,
|  | std::vector< AttributeHandle > & | theAttributeList,
|  | UShort | theListSize |
| ) |  |  | throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned, AttributeDivestitureWasNotRequested, FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2135 of file Federation.cc.

References ObjectSet::cancelNegotiatedAttributeOwnershipDivestiture(), Federation::check(), certi::rtig::D, certi::fedparser::federate, RootObject::objects, PrettyDebug::Out(), pdDebug, and Federation::root.

Referenced by FederationsList::cancelDivestiture().

Here is the call graph for this function:

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

Definition at line 2164 of file Federation.cc.

References ObjectClassSet::attributeOwnershipReleaseResponse(), Federation::check(), certi::rtig::D, certi::fedparser::federate, RootObject::ObjectClasses, PrettyDebug::Out(), pdDebug, and Federation::root.

Referenced by FederationsList::respondRelease().

Here is the call graph for this function:

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

Definition at line 2193 of file Federation.cc.

References ObjectClassSet::cancelAttributeOwnershipAcquisition(), Federation::check(), certi::rtig::D, certi::fedparser::federate, RootObject::ObjectClasses, PrettyDebug::Out(), pdDebug, and Federation::root.

Referenced by FederationsList::cancelAcquisition().

Here is the call graph for this function:

long createRegion | ( | FederateHandle | federate,
|  | SpaceHandle | space,
|  | long | nb_extents |
| ) |  |  | throw (SpaceNotDefined, InvalidExtents, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2220 of file Federation.cc.

References Federation::check(), RootObject::createRegion(), certi::fedparser::federate, and Federation::root.

Referenced by FederationsList::createRegion().

Here is the call graph for this function:

void modifyRegion | ( | FederateHandle | federate,
|  | RegionHandle | region,
|  | const std::vector< Extent > & | extents |
| ) |  |  | throw (RegionNotKnown, InvalidExtents, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2234 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::modifyRegion(), and Federation::root.

Referenced by FederationsList::modifyRegion().

Here is the call graph for this function:

void deleteRegion | ( | FederateHandle | federate,
|  | long | region |
| ) |  |  | throw (RegionNotKnown, RegionInUse, SaveInProgress, RestoreInProgress, RTIinternalError)

deleteRegion

Definition at line 2246 of file Federation.cc.

References Federation::check(), RootObject::deleteRegion(), certi::fedparser::federate, Federation::restoreInProgress, Federation::root, and Federation::saveInProgress.

Referenced by FederationsList::deleteRegion().

Here is the call graph for this function:

void associateRegion | ( | FederateHandle | federate,
|  | ObjectHandle | object,
|  | RegionHandle | the_handle,
|  | unsigned short | nb,
|  | std::vector< AttributeHandle > & | attributes |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

associateRegion

Definition at line 2267 of file Federation.cc.

References ObjectAttribute::associate(), Federation::check(), certi::fedparser::federate, RootObject::getObject(), RootObject::getObjectAttribute(), RootObject::getRegion(), Federation::root, and Object::unassociate().

Referenced by FederationsList::associateRegion().

Here is the call graph for this function:

void unassociateRegion | ( | FederateHandle | federate,
|  | ObjectHandle | object,
|  | RegionHandle | the_handle |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

unassociateRegion

Definition at line 2288 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::getObject(), RootObject::getRegion(), Federation::root, and Object::unassociate().

Referenced by FederationsList::unassociateRegion().

Here is the call graph for this function:

void subscribeAttributesWR | ( | FederateHandle | federate,
|  | ObjectClassHandle | c,
|  | RegionHandle | region_handle,
|  | unsigned short | nb,
|  | std::vector< AttributeHandle > & | attributes |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

subscribeAttributesWR

Definition at line 2302 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::getRegion(), RootObject::ObjectClasses, Federation::root, and ObjectClassSet::subscribe().

Referenced by FederationsList::subscribeAttributesWR().

Here is the call graph for this function:

void unsubscribeAttributesWR | ( | FederateHandle | federate,
|  | ObjectClassHandle | object_class,
|  | RegionHandle | region_handle |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

unsubscribeAttributesWR

Definition at line 2320 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::getObjectClass(), RootObject::getRegion(), Federation::root, and ObjectClass::unsubscribe().

Referenced by FederationsList::unsubscribeAttributesWR().

Here is the call graph for this function:

void subscribeInteractionWR | ( | FederateHandle | federate,
|  | InteractionClassHandle | interaction,
|  | RegionHandle | region_handle |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2337 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::getInteractionClass(), RootObject::getRegion(), Federation::root, and Subscribable::subscribe().

Referenced by FederationsList::subscribeInteractionWR().

Here is the call graph for this function:

void unsubscribeInteractionWR | ( | FederateHandle | federate,
|  | InteractionClassHandle | interaction,
|  | RegionHandle | region_handle |
| ) |  |  | throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2354 of file Federation.cc.

References Federation::check(), certi::fedparser::federate, RootObject::getInteractionClass(), RootObject::getRegion(), Federation::root, and Subscribable::unsubscribe().

Referenced by FederationsList::unsubscribeInteractionWR().

Here is the call graph for this function:

ObjectHandle registerObjectWithRegion | ( | FederateHandle | federate,
|  | ObjectClassHandle | class_handle,
|  | const char * | object_name,
|  | RegionHandle | region_handle,
|  | int | nb,
|  | std::vector< AttributeHandle > & | attributes |
| ) |  |  | throw (ObjectClassNotDefined, ObjectClassNotPublished, AttributeNotDefined, AttributeNotPublished, RegionNotKnown, InvalidRegionContext, ObjectAlreadyRegistered, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 2371 of file Federation.cc.

References ObjectAttribute::associate(), Federation::check(), certi::rtig::D, certi::fedparser::federate, certi::rtig::G, RootObject::getObject(), RootObject::getObjectAttribute(), RootObject::getRegion(), Federation::objectHandles, PrettyDebug::Out(), pdDebug, pdGendoc, RootObject::registerObjectInstance(), Federation::root, and Object::unassociate().

Referenced by FederationsList::registerObjectWithRegion().

Here is the call graph for this function:

void setClassRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 522 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isClassRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setClassRelevanceAdvisorySwitch().

Referenced by FederationsList::setClassRelevanceAdvisorySwitch().

Here is the call graph for this function:

void unsetClassRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 610 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isClassRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setClassRelevanceAdvisorySwitch().

Referenced by FederationsList::unsetClassRelevanceAdvisorySwitch().

Here is the call graph for this function:

void setInteractionRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 544 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isInteractionRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setInteractionRelevanceAdvisorySwitch().

Referenced by FederationsList::setInteractionRelevanceAdvisorySwitch().

Here is the call graph for this function:

void unsetInteractionRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 632 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isInteractionRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setInteractionRelevanceAdvisorySwitch().

Referenced by FederationsList::unsetInteractionRelevanceAdvisorySwitch().

Here is the call graph for this function:

void setAttributeRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 566 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isAttributeRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setAttributeRelevanceAdvisorySwitch().

Referenced by FederationsList::setAttributeRelevanceAdvisorySwitch().

Here is the call graph for this function:

void unsetAttributeRelevanceAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 654 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isAttributeRelevanceAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setAttributeRelevanceAdvisorySwitch().

Referenced by FederationsList::unsetAttributeRelevanceAdvisorySwitch().

Here is the call graph for this function:

void setAttributeScopeAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 588 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isAttributeScopeAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setAttributeScopeAdvisorySwitch().

Referenced by FederationsList::setAttributeScopeAdvisorySwitch().

Here is the call graph for this function:

void unsetAttributeScopeAdvisorySwitch | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress, RTIinternalError)

Definition at line 676 of file Federation.cc.

References certi::rtig::D, certi::fedparser::federate, Federation::getFederate(), Federation::handle, Federate::isAttributeScopeAdvisorySwitch(), PrettyDebug::Out(), pdExcept, pdTerm, and Federate::setAttributeScopeAdvisorySwitch().

Referenced by FederationsList::unsetAttributeScopeAdvisorySwitch().

Here is the call graph for this function:

void broadcastAnyMessage | ( | NetworkMessage * | msg,
|  | FederateHandle | Except |
| ) |  |  | `[private]`

Broadcast 'msg' to all Federate except the specified one.

Definition at line 730 of file Federation.cc.

References certi::BEST_EFFORT, certi::rtig::D, Federation::federates, SecurityServer::getSocketLink(), Federation::NM_msgBufSend, PrettyDebug::Out(), pdExcept, NetworkMessage::send(), and Federation::server.

Referenced by Federation::addRegulator(), Federation::broadcastSynchronization(), Federation::federateRestoreStatus(), Federation::federateSaveStatus(), Federation::removeRegulator(), Federation::requestFederationRestore(), Federation::requestFederationSave(), Federation::unregisterSynchronization(), and Federation::updateRegulator().

Here is the call graph for this function:

void broadcastSomeMessage | ( | NetworkMessage * | msg,
|  | FederateHandle | Except,
|  | std::vector< FederateHandle > & | fede_array,
|  | int | nbfed |
| ) |  |  | `[private]`

Broadcast 'msg' to some Federates except the specified one.

Definition at line 763 of file Federation.cc.

References certi::BEST_EFFORT, certi::rtig::D, Federation::federates, SecurityServer::getSocketLink(), Federation::NM_msgBufSend, PrettyDebug::Out(), pdExcept, NetworkMessage::send(), and Federation::server.

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

Here is the call graph for this function:

Federate & getFederate | ( | const char * | theName | ) | throw (FederateNotExecutionMember)`[private]`

Return the Federate whose Name is theName, if found.

Definition at line 1428 of file Federation.cc.

References Federation::federates, and Federation::getName().

Referenced by Federation::add(), Federation::addConstrained(), Federation::addRegulator(), Federation::federateRestoreStatus(), Federation::federateSaveStatus(), Federation::removeConstrained(), Federation::removeRegulator(), Federation::setAttributeRelevanceAdvisorySwitch(), Federation::setAttributeScopeAdvisorySwitch(), Federation::setClassRelevanceAdvisorySwitch(), Federation::setInteractionRelevanceAdvisorySwitch(), Federation::subscribeObject(), Federation::unregisterSynchronization(), Federation::unsetAttributeRelevanceAdvisorySwitch(), Federation::unsetAttributeScopeAdvisorySwitch(), Federation::unsetClassRelevanceAdvisorySwitch(), Federation::unsetInteractionRelevanceAdvisorySwitch(), and Federation::updateRegulator().

Here is the call graph for this function:

Federate & getFederate | ( | FederateHandle | theHandle | ) | throw (FederateNotExecutionMember)`[private]`

Return the Federate whose Handle is theHandle, if found.

Definition at line 1414 of file Federation.cc.

References Federation::federates.

## Member Data Documentation

Handle handle`[private]`

Definition at line 58 of file Federation.hh.

Referenced by Federation::add(), Federation::addConstrained(), Federation::addRegulator(), Federation::broadcastInteraction(), Federation::broadcastSynchronization(), Federation::deleteObject(), Federation::federateRestoreStatus(), Federation::federateSaveStatus(), Federation::getHandle(), Federation::publishInteraction(), Federation::publishObject(), Federation::registerObject(), Federation::registerSynchronization(), Federation::remove(), Federation::removeConstrained(), Federation::removeRegulator(), Federation::requestFederationRestore(), Federation::requestFederationSave(), Federation::saveXmlData(), Federation::setAttributeRelevanceAdvisorySwitch(), Federation::setAttributeScopeAdvisorySwitch(), Federation::setClassRelevanceAdvisorySwitch(), Federation::setInteractionRelevanceAdvisorySwitch(), Federation::subscribeInteraction(), Federation::subscribeObject(), Federation::unregisterSynchronization(), Federation::unsetAttributeRelevanceAdvisorySwitch(), Federation::unsetAttributeScopeAdvisorySwitch(), Federation::unsetClassRelevanceAdvisorySwitch(), Federation::unsetInteractionRelevanceAdvisorySwitch(), Federation::updateAttributeValues(), Federation::updateRegulator(), and Federation::~Federation().

std::string name`[private]`

Definition at line 59 of file Federation.hh.

Referenced by Federation::getName(), Federation::requestFederationRestore(), Federation::restoreXmlData(), and Federation::saveXmlData().

std::string FEDid`[private]`

Definition at line 60 of file Federation.hh.

Referenced by Federation::getFEDid().

std::map<const char *, const char *> synchronizationLabels`[private]`

Labels and Tags not on synchronization.

Definition at line 63 of file Federation.hh.

Referenced by Federation::add(), Federation::isSynchronizing(), Federation::registerSynchronization(), and Federation::unregisterSynchronization().

HandleManager<FederateHandle> federateHandles`[private]`

Definition at line 65 of file Federation.hh.

Referenced by Federation::add(), and Federation::remove().

HandleManager<ObjectHandle> objectHandles`[private]`

Definition at line 66 of file Federation.hh.

Referenced by Federation::deleteObject(), Federation::registerObject(), and Federation::registerObjectWithRegion().

SecurityServer* server`[private]`

Definition at line 71 of file Federation.hh.

Referenced by Federation::broadcastAnyMessage(), Federation::broadcastSomeMessage(), Federation::requestFederationRestore(), Federation::requestObjectOwner(), and Federation::~Federation().

RootObject* root`[private]`

Definition at line 72 of file Federation.hh.

Referenced by Federation::acquire(), Federation::acquireIfAvailable(), Federation::associateRegion(), Federation::broadcastInteraction(), Federation::cancelAcquisition(), Federation::cancelDivestiture(), Federation::createRegion(), Federation::deleteObject(), Federation::deleteRegion(), Federation::divest(), Federation::isOwner(), Federation::kill(), Federation::modifyRegion(), Federation::negotiateDivestiture(), Federation::publishInteraction(), Federation::publishObject(), Federation::queryAttributeOwnership(), Federation::registerObject(), Federation::registerObjectWithRegion(), Federation::requestObjectOwner(), Federation::respondRelease(), Federation::subscribeAttributesWR(), Federation::subscribeInteraction(), Federation::subscribeInteractionWR(), Federation::subscribeObject(), Federation::unassociateRegion(), Federation::unsubscribeAttributesWR(), Federation::unsubscribeInteractionWR(), Federation::updateAttributeValues(), and Federation::~Federation().

LBTS regulators`[private]`

Definition at line 74 of file Federation.hh.

Referenced by Federation::add(), Federation::addRegulator(), Federation::getNbRegulators(), Federation::removeRegulator(), and Federation::updateRegulator().

FederateList federates`[private]`

Definition at line 661 of file Federation.hh.

Referenced by Federation::add(), Federation::broadcastAnyMessage(), Federation::broadcastSomeMessage(), Federation::check(), Federation::empty(), Federation::federateRestoreStatus(), Federation::federateSaveStatus(), Federation::getFederate(), Federation::getNbFederates(), Federation::registerSynchronization(), Federation::remove(), Federation::requestFederationRestore(), Federation::requestFederationSave(), Federation::restoreXmlData(), Federation::saveXmlData(), and Federation::unregisterSynchronization().

bool saveInProgress`[private]`

Definition at line 662 of file Federation.hh.

Referenced by Federation::deleteRegion(), Federation::federateSaveStatus(), and Federation::requestFederationSave().

bool restoreInProgress`[private]`

Definition at line 663 of file Federation.hh.

Referenced by Federation::deleteRegion(), Federation::federateRestoreStatus(), and Federation::requestFederationRestore().

bool saveStatus`[private]`

True if saving was correctly done, false otherwise.

Definition at line 664 of file Federation.hh.

Referenced by Federation::federateSaveStatus(), and Federation::requestFederationSave().

bool restoreStatus`[private]`

True if restoring was correctly done.

Definition at line 665 of file Federation.hh.

Referenced by Federation::federateRestoreStatus(), and Federation::requestFederationRestore().

int verboseLevel`[private]`

Definition at line 666 of file Federation.hh.

std::string saveLabel`[private]`

The label associated with the save request.

Definition at line 667 of file Federation.hh.

Referenced by Federation::requestFederationSave(), and Federation::saveXmlData().

MessageBuffer NM_msgBufSend`[private]`

Definition at line 673 of file Federation.hh.

Referenced by Federation::add(), Federation::broadcastAnyMessage(), Federation::broadcastSomeMessage(), Federation::requestFederationRestore(), and Federation::requestObjectOwner().

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

- Federation.hh
- Federation.cc