public override void OnReceiveHLApublishInteractionClass(HLApublishInteractionClassMessage msg)
 {
     if (log.IsDebugEnabled)
         log.Debug("[" + federationName + "] Received HLApublishInteractionClass =  " + msg.ToString());
 }
        /*
        ///<summary>
        ///Adjust the time period between updates of the HLAmanager.HLAfederate
        ///object instance for the specified joined federate. If this interaction
        ///is never sent, the RTI shall not perform periodic updates.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAsetTiming(HLAsetTimingMessage msg);

        ///<summary>
        ///Modify the ownership state of an attribute of an object instance for
        ///the specified joined federate. If the interaction is used to give
        ///ownership of the instance attribute to the specified joined federate
        ///and another joined federate currently owns the instance attribute,
        ///the owning joined federate shall be divested of ownership of the instance
        ///attribute before ownership is granted to the specified joined federate.
        ///No notification of change of ownership of the instance attribute shall
        ///be provided to either joined federate. In order for ownership of the
        ///instance attribute to be granted to the specified joined federate,
        ///the following conditions shall be true: - the specified joined federate
        ///knows about the object instance - the specified joined federate is
        ///publishing the corresponding class attribute at the known class of
        ///the specified object instance at that joined federate - the specified
        ///instance attribute is not owned by the RTI (i.e., it's not a predefined
        ///attribute of a MOM object class) If one or more of the above conditions
        ///are not met, then the interaction shall have no effect and an error
        ///shall be reported via an interaction of class HLAmanager. HLAfederate.HLAreport.
        ///HLAreportMOMexception.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAmodifyAttributeState(HLAmodifyAttributeStateMessage msg);

        ///<summary>
        ///Specify whether to report service invocations to0 or from the specified
        ///joined federate via HLAmanager.HLAfederate. HLAreport.HLAreportServiceInvocation
        ///interactions (enable or disable servicereporting). If the specified
        ///joined federate is subscribed to the HLAmanager.HLAfederate.HLAreport.
        ///HLAreportServiceInvocation interaction, all attempts to enable service
        ///reporting for that joined federate by sending an HLAmanager.HLAfederate.HLAadjust.
        ///HLAsetServiceReporting interaction with an HLAreportingState parameter
        ///value of HLAtrue shall fail and be reported via the normal MOM interaction
        ///failure means.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAsetServiceReporting(HLAsetServiceReportingMessage msg);

        ///<summary>
        ///Specify whether the RTI shall report service invocation exceptions
        ///via HLAmanager.HLAfederate.HLAreport. HLAreportException interactions.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAsetExceptionReporting(HLAsetExceptionReportingMessage msg);

        ///<summary>
        ///Request that the RTI send report interactions that contain the publication
        ///data of a joined federate. It shall result in one interaction of class
        ///HLAmanager. HLAfederate.HLAreport. HLAreportInteractionPublication
        ///and one interaction of class HLAmanager.HLAfederate. HLAreport.HLAreportObjectClassPublication
        ///for each object class published.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestPublications(HLArequestPublicationsMessage msg);

        ///<summary>
        ///Request that the RTI send report interactions that contain the subscription
        ///data of a joined federate. It shall result in one interaction of class
        ///HLAmanager. HLAfederate.HLAreport. HLAreportInteractionSubscription
        ///and one interaction of class HLAmanager.HLAfederate. HLAreport.HLAreportObjectClassSubscription
        ///for each object class published.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestSubscriptions(HLArequestSubscriptionsMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the object
        ///instances that can be deleted at the joined federate. It shall result
        ///in one interaction of class HLAmanager.HLAfederate.HLAreport. HLAreportObjectInstancesThatCanBeDeleted.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestObjectInstancesThatCanBeDeleted(HLArequestObjectInstancesThatCanBeDeletedMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the object
        ///instance updating responsibility of a joined federate. It shall result
        ///in one interaction of class HLAmanager.HLAfederate.HLAreport. HLAreportObjectInstancesUpdated.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestObjectInstancesUpdated(HLArequestObjectInstancesUpdatedMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the objects
        ///instances for which a joined federate has had a Reflect Attribute
        ///Values service invocation. It shall result in one interaction ofclass
        ///HLAmanager.HLAfederate.HLAreport. HLAreportObjectInstancesReflected.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestObjectInstancesReflected(HLArequestObjectInstancesReflectedMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the number
        ///of updates that a joined federate has generated. It shall result in
        ///one interaction of class HLAmanager.HLAfederate.HLAreport. HLAreportUpdatesSent
        ///for each transportation type that is used to send updates.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestUpdatesSent(HLArequestUpdatesSentMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the number
        ///of interactions that a joined federate has generated. This count shall
        ///include interactions sent with region. It shall result in one interaction
        ///of class HLAmanager.HLAfederate.HLAreport. HLAreportInteractionsSent
        ///for each transportation type that is used to send interactions.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestInteractionsSent(HLArequestInteractionsSentMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the number
        ///of reflections that a joined federate has received. It shall result
        ///in one interaction of class HLAmanager.HLAfederate.HLAreport. HLAreportReflectionsReceived
        ///for each transportation type used in receiving reflections.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestReflectionsReceived(HLArequestReflectionsReceivedMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the number
        ///of interactions that a joined federate has received. It shall result
        ///in one interaction of class HLAmanager.HLAfederate.HLAreport. HLAreportInteractionsReceived
        ///for each transportation typeused in receiving interactions.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestInteractionsReceived(HLArequestInteractionsReceivedMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains the information
        ///that a joined federate maintains on a single object instance. It shall
        ///result in one interaction of class HLAmanager.HLAfederate.HLAreport.HLAreportObjectInstanceInformation.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestObjectInstanceInformation(HLArequestObjectInstanceInformationMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains a list
        ///of all in-progress federation synchronization points. It shall result
        ///in one interaction class HLAmanager.HLAfederate.HLAreport. HLAreportSynchronizationPoints.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestSynchronizationPoints(HLArequestSynchronizationPointsMessage msg);

        ///<summary>
        ///Request that the RTI send a report interaction that contains a list
        ///that includes each federate (and its synchronization point status)
        ///that is associated with a particular synchronization point. It shall
        ///result in one interaction of class HLAmanager.HLAfederate.HLAreport.
        ///HLAreportSynchronizationPointStatus.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLArequestSynchronizationPointStatus(HLArequestSynchronizationPointStatusMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestPublications.
        ///It shall report the attributes of one object class published by the
        ///joined federate. One of these interactions shall be sent for each
        ///object class containing attributes that are published by the joined
        ///federate.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectClassPublication(HLAreportObjectClassPublicationMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestSubscriptions.
        ///It shall report the attributes of one object class subscribed to by
        ///the joined federate. One of these interactions shall be sent for each
        ///object class that is subscribed to by the joined federate. This information
        ///shall reflect related DDM usage.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectClassSubscription(HLAreportObjectClassSubscriptionMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestPublications.
        ///It shall report the interaction classes published by the joined federate.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportInteractionPublication(HLAreportInteractionPublicationMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestSubscriptions.
        ///It shall report the interaction classes subscribed to by the joined
        ///federate. This information shall reflect related DDM usage.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportInteractionSubscription(HLAreportInteractionSubscriptionMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate.HLArequest.HLArequestObject InstancesThatCanBeDeleted.
        ///It shall report the number of object instances (by registered class
        ///of the object instances) whose HLAprivilegeToDeleteObject attribute
        ///areowned by the joined federate.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectInstancesThatCanBeDeleted(HLAreportObjectInstancesThatCanBeDeletedMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestObjectInstancessUpdated.
        ///It shall report the number of object instances (by registered class
        ///of the object instances) for which the joined federate has invoked
        ///the Update Attribute Values service.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectInstancesUpdated(HLAreportObjectInstancesUpdatedMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestObjectInstancessReflected.
        ///It shall report the number of object instances (by registered class
        ///of the object instances) for which the joined federate has had a Reflect
        ///Attribute Values service invocation.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectInstancesReflected(HLAreportObjectInstancesReflectedMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestUpdatesSent.
        ///It shall report the number of updates sent (by registered class of
        ///the object instances of the updates) by the joined federate since
        ///the beginning of the federation execution. One interaction of this
        ///class shall be sent by the RTI for each transportation type used.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportUpdatesSent(HLAreportUpdatesSentMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestReflectionsReceived.
        ///It shall report the number of reflections received (by registered
        ///class of the object instances of the reflects) by the joined federate
        ///since the beginning of the federation execution. One interaction of
        ///this class shall be sent by the RTI for each transportation type used.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportReflectionsReceived(HLAreportReflectionsReceivedMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestInteractionsSent.
        ///It shall report the number of interactions sent (by sent class of
        ///the interactions) by the joined federate since the beginning of the
        ///federation execution. This count shall include interactions sent with
        ///region. One interaction of this class shall be sent by the RTI for
        ///each transportation type used.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportInteractionsSent(HLAreportInteractionsSentMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest. HLArequestInteractionsReceived.
        ///It shall report the number of interactions received (by sent class
        ///of the interactions) by the joined federate since the beginning of
        ///the federation execution. One interaction of this class shall be sent
        ///by the RTI for each transportation type used.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportInteractionsReceived(HLAreportInteractionsReceivedMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestObjectInstance
        ///Information. It shall report on a single object instance and portray
        ///the attributes of that object instance that are owned by the joined
        ///federate, the registered class of the object instance, and the known
        ///class of the object instance at the joined federate.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportObjectInstanceInformation(HLAreportObjectInstanceInformationMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI when an exception occurs
        ///as the result of a service invocation at the indicated joined federate.
        ///This interaction shall be sent only if the last HLAmanager.HLAfederate.HLAadjust.
        ///HLAsetExceptionReporting interaction changing the HLAreportingState
        ///parameter sets the parameter to HLAtrue, for the indicated joined
        ///federate.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportException(HLAreportExceptionMessage msg);

        ///<summary>
        ///This interaction shall be sent by the RTI whenever an HLA service
        ///is invoked, either by the indicated joined federate or by the RTI
        ///at the indicated joined federate, and Service Reporting is Enabled
        ///for the indicated joined federate. This interaction shall always contain
        ///the arguments supplied by the service invoker. If the service invocation
        ///was successful, the interaction also shall contain the value returned
        ///to the invoker (if the service returns a value); otherwise, the interaction
        ///also shall contain an indication of the exception that shall be raised
        ///to the invoker.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportServiceInvocation(HLAreportServiceInvocationMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI when one the following occurs:
        ///- a MOM interaction without all the necessary parameters is sent or
        ///- an interaction that imitates a federate's invocation of an RTI service
        ///is sent and not all of the service's pre-conditions are met.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportMOMexception(HLAreportMOMexceptionMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestSynchronizationPoints.
        ///It shall report the list of active synchronization points in the federation
        ///execution.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportSynchronizationPoints(HLAreportSynchronizationPointsMessage msg);

        ///<summary>
        ///The interaction shall be sent by the RTI in response to an interaction
        ///of class HLAmanager.HLAfederate. HLArequest.HLArequestSynchronizationPointStatus.
        ///It shall report the status of a particular synchronization point.
        ///This shall be a list that includes each federate (and its synchronization
        ///status) that is associated with a particular synchronization point.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAreportSynchronizationPointStatus(HLAreportSynchronizationPointStatusMessage msg);

        ///<summary>
        ///Cause the joined federate to resign from the federation execution.
        ///A joined federate shall be able to send this interaction anytime.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAresignFederationExecution(HLAresignFederationExecutionMessage msg);

        ///<summary>
        ///Mimic the federate's report of achieving a synchronization point.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAsynchronizationPointAchieved(HLAsynchronizationPointAchievedMessage msg);

        ///<summary>
        ///Mimic the federate's report of starting a save.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAfederateSaveBegun(HLAfederateSaveBegunMessage msg);

        ///<summary>
        ///Mimic the joined federate's report of completion of a save. A joined
        ///federate shall be able to send this interaction during a federation
        ///save.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAfederateSaveComplete(HLAfederateSaveCompleteMessage msg);

        ///<summary>
        ///Mimic the joined federate's report of completion of a restore. A joined
        ///federate shall be able to send this interaction during a federation
        ///restore.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        void OnReceiveHLAfederateRestoreComplete(HLAfederateRestoreCompleteMessage msg);
        */

        #endif

        #region Methods

        ///<summary>
        ///Set the joined federate's publication status of an interaction class.
        ///</summary>
        ///<param name="msg"> the message associated with the interaction</param>
        ///<exception cref="InteractionClassNotRecognized"> if the interaction class was not recognized</exception>
        ///<exception cref="InteractionParameterNotRecognized"> if a parameter of the interaction was not
        /// recognized</exception>
        ///<exception cref="InteractionClassNotSubscribed"> if the federate had not subscribed to the
        /// interaction class</exception>
        ///<exception cref="FederateInternalError"> if an error occurs in the federate</exception>
        public abstract void OnReceiveHLApublishInteractionClass(HLApublishInteractionClassMessage msg);