# InteractionSet Class Reference

`#include <InteractionSet.hh>`

Inheritance diagram for InteractionSet:

[legend]

List of all members.

## Public Member Functions
| InteractionSet (SecurityServer *the_server, bool isRootClassSet=false)
| ~InteractionSet ()
void | addClass (Interaction *theClass, Interaction *parentClass)
| Add an interaction class to the set.
InteractionClassHandle | getInteractionClassHandle (const std::string &class_name) const throw (NameNotFound)
| Return the interaction class handle corresponding to the provided name.
std::string | getInteractionClassName (InteractionClassHandle the_handle) const throw (InteractionClassNotDefined)
| Return the interaction class name correspondig to the provided handle.
ParameterHandle | getParameterHandle (const char *the_name, InteractionClassHandle the_class) throw (NameNotFound, InteractionClassNotDefined, RTIinternalError)
| Return the parameter handle associated to name and class handle.
const std::string & | getParameterName (ParameterHandle the_handle, InteractionClassHandle the_class) throw (InteractionParameterNotDefined, InteractionClassNotDefined, RTIinternalError)
| Return the parameter name associated to handle and class handle.
void | killFederate (FederateHandle the_federate) throw ()
| killFederate.
void | publish (FederateHandle the_federate_handle, InteractionClassHandle the_interaction_handle, bool publish) throw (FederateNotPublishing, InteractionClassNotDefined, RTIinternalError, SecurityError)
| publish.
void | subscribe (FederateHandle the_federate_handle, InteractionClassHandle the_interaction_handle, const RTIRegion *, bool subscribe) throw (FederateNotSubscribing, InteractionClassNotDefined, RTIinternalError, SecurityError)
| subscribe.
void | isReady (FederateHandle theFederateHandle, InteractionClassHandle theInteraction, std::vector< ParameterHandle > &paramArray, UShort paramArraySize) throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)
void | broadcastInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, std::vector< ParameterHandle > &theParameterList, std::vector< ParameterValue_t > &theValueList, UShort theListSize, FederationTime theTime, const RTIRegion *, const char *theTag) throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)
| broadcastInteraction with time.
void | broadcastInteraction (FederateHandle theFederateHandle, InteractionClassHandle theInteractionHandle, std::vector< ParameterHandle > &theParameterList, std::vector< ParameterValue_t > &theValueList, UShort theListSize, const RTIRegion *, const char *theTag) throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)
| broadcastInteraction without time
## Private Attributes
SecurityServer * | server

## Detailed Description

Definition at line 40 of file InteractionSet.hh.

## Constructor & Destructor Documentation

InteractionSet | ( | SecurityServer * | the_server,
|  | bool | isRootClassSet = `false` |
| ) |  |  |

Definition at line 42 of file InteractionSet.cc.

References InteractionSet::server.

~InteractionSet | ( |  | ) |

Definition at line 48 of file InteractionSet.cc.

## Member Function Documentation

void addClass | ( | Interaction * | theClass,
|  | Interaction * | parentClass |
| ) |  |  |

Add an interaction class to the set.

Precondition:
  theClass should be non NULL

Parameters:

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

Definition at line 53 of file InteractionSet.cc.

References certi::D, Interaction::getHandle(), PrettyDebug::Out(), pdInit, InteractionSet::server, and Interaction::server.

Referenced by RootObject::addInteractionClass(), and Interaction::addSubClass().

Here is the call graph for this function:

InteractionClassHandle getInteractionClassHandle | ( | const std::string & | class_name | ) | const throw (NameNotFound)

Return the interaction class handle corresponding to the provided name.

Return the interaction handle associated to name.

Parameters:

  `[in]` | class_name | the name of the interaction whose handle is requested

Returns:
  the interaction class handle

Definition at line 159 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getHandleFromName().

Referenced by ObjectManagement::getInteractionClassHandle().

Here is the call graph for this function:

std::string getInteractionClassName | ( | InteractionClassHandle | the_handle | ) | const throw (InteractionClassNotDefined)

Return the interaction class name correspondig to the provided handle.

Return the interaction name associated to handle.

Parameters:

  `[in]` | the_handle | the handle of the interaction whose name is requested

Returns:
  the interaction class name

Definition at line 167 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getNameFromHandle().

Referenced by ObjectManagement::getInteractionClassName().

Here is the call graph for this function:

ParameterHandle getParameterHandle | ( | const char * | the_name,
|  | InteractionClassHandle | the_class |
| ) |  |  | throw (NameNotFound, InteractionClassNotDefined, RTIinternalError)

Return the parameter handle associated to name and class handle.

Definition at line 176 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getObjectFromHandle(), and Interaction::getParameterHandle().

Referenced by ObjectManagement::getParameterHandle().

Here is the call graph for this function:

const std::string & getParameterName | ( | ParameterHandle | the_handle,
|  | InteractionClassHandle | the_class |
| ) |  |  | throw (InteractionParameterNotDefined, InteractionClassNotDefined, RTIinternalError)

Return the parameter name associated to handle and class handle.

Definition at line 193 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getObjectFromHandle(), and Interaction::getParameterName().

Referenced by ObjectManagement::getParameterName().

Here is the call graph for this function:

void killFederate | ( | FederateHandle | the_federate | ) | throw ()

killFederate.

Definition at line 226 of file InteractionSet.cc.

References TreeNamedAndHandledSet::handled_begin(), and TreeNamedAndHandledSet::handled_end().

Referenced by RootObject::killFederate().

Here is the call graph for this function:

void publish | ( | FederateHandle | the_federate_handle,
|  | InteractionClassHandle | the_interaction_handle,
|  | bool | publish |
| ) |  |  | throw (FederateNotPublishing, InteractionClassNotDefined, RTIinternalError, SecurityError)

publish.

Definition at line 240 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getObjectFromHandle(), Interaction::publish(), and Interaction::unpublish().

Referenced by Federation::publishInteraction(), DeclarationManagement::publishInteractionClass(), and DeclarationManagement::unpublishInteractionClass().

Here is the call graph for this function:

void subscribe | ( | FederateHandle | the_federate_handle,
|  | InteractionClassHandle | the_interaction_handle,
|  | const RTIRegion * | region,
|  | bool | subscribe |
| ) |  |  | throw (FederateNotSubscribing, InteractionClassNotDefined, RTIinternalError, SecurityError)

subscribe.

Definition at line 259 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getObjectFromHandle(), Subscribable::subscribe(), and Subscribable::unsubscribe().

Referenced by Federation::subscribeInteraction(), DeclarationManagement::subscribeInteractionClass(), and DeclarationManagement::unsubscribeInteractionClass().

Here is the call graph for this function:

void isReady | ( | FederateHandle | federate_handle,
|  | InteractionClassHandle | the_interaction,
|  | std::vector< ParameterHandle > & | param_array,
|  | UShort | param_array_size |
| ) |  |  | throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)

Return no exception if the Interaction is valid for a SendInteraction, but do not broadcast it.(to be used on the RTIA for pre-checking).

Definition at line 209 of file InteractionSet.cc.

References TreeNamedAndHandledSet::getObjectFromHandle(), and Interaction::isReady().

Referenced by ObjectManagement::sendInteraction().

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,
|  | const RTIRegion * | region,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)

broadcastInteraction with time.

Definition at line 64 of file InteractionSet.cc.

References certi::G, TreeNamedAndHandledSet::getObjectFromHandle(), PrettyDebug::Out(), pdGendoc, and Interaction::sendInteraction().

Referenced by Federation::broadcastInteraction().

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,
|  | const RTIRegion * | region,
|  | const char * | theTag |
| ) |  |  | throw (FederateNotPublishing, InteractionClassNotDefined, InteractionParameterNotDefined, RTIinternalError)

broadcastInteraction without time

Definition at line 113 of file InteractionSet.cc.

References certi::G, TreeNamedAndHandledSet::getObjectFromHandle(), PrettyDebug::Out(), pdGendoc, and Interaction::sendInteraction().

Here is the call graph for this function:

## Member Data Documentation

SecurityServer* server`[private]`

Definition at line 153 of file InteractionSet.hh.

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

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

- InteractionSet.hh
- InteractionSet.cc