certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] certi RTIA/DeclarationManagement.cc RTIA/Object...


From: certi-cvs
Subject: [certi-cvs] certi RTIA/DeclarationManagement.cc RTIA/Object...
Date: Thu, 20 Nov 2008 18:21:57 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     Christian Stenzel <approx>      08/11/20 18:21:57

Modified files:
        RTIA           : DeclarationManagement.cc ObjectManagement.cc 
                         RTIA_network.cc 
        RTIG           : Federate.cc Federate.hh Federation.cc 
                         Federation.hh FederationsList.cc 
                         FederationsList.hh RTIG.cc RTIG.hh 
                         RTIG_processing.cc 
        libCERTI       : NM_Classes.cc NM_Classes.hh NetworkMessage.hh 
                         PrettyDebEx.cc 
        libRTI         : RTIambassador.cc 

Log message:
        implementation of switches: CRAS, IRAS, ARAS and ASAS

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DeclarationManagement.cc?cvsroot=certi&r1=3.22&r2=3.23
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.56&r2=3.57
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_network.cc?cvsroot=certi&r1=3.29&r2=3.30
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federate.cc?cvsroot=certi&r1=3.15&r2=3.16
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federate.hh?cvsroot=certi&r1=3.11&r2=3.12
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.101&r2=3.102
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.hh?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.cc?cvsroot=certi&r1=3.61&r2=3.62
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.hh?cvsroot=certi&r1=3.47&r2=3.48
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.cc?cvsroot=certi&r1=3.52&r2=3.53
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.hh?cvsroot=certi&r1=3.30&r2=3.31
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.78&r2=3.79
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.cc?cvsroot=certi&r1=3.13&r2=3.14
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.hh?cvsroot=certi&r1=3.8&r2=3.9
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&r1=3.43&r2=3.44
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/PrettyDebEx.cc?cvsroot=certi&r1=4.5&r2=4.6
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.97&r2=3.98

Patches:
Index: RTIA/DeclarationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DeclarationManagement.cc,v
retrieving revision 3.22
retrieving revision 3.23
diff -u -b -r3.22 -r3.23
--- RTIA/DeclarationManagement.cc       10 Jul 2008 20:20:04 -0000      3.22
+++ RTIA/DeclarationManagement.cc       20 Nov 2008 18:21:55 -0000      3.23
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: DeclarationManagement.cc,v 3.22 2008/07/10 20:20:04 approx Exp $
+// $Id: DeclarationManagement.cc,v 3.23 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -447,11 +447,25 @@
 setInteractionRelevanceAdvisorySwitch(bool state, TypeException &e) {
     G.Out(pdGendoc,"enter 
DeclarationManagement::setInteractionRelevanceAdvisorySwitch");
 
+    NM_Set_Interaction_Relevance_Advisory_Switch msg ;
+
+    e = e_NO_EXCEPTION ;
+
+    msg.federation = fm->_numero_federation ;
+    msg.federate = fm->federate ;
+
+    if (state) {
+        msg.interactionRelevanceAdvisorySwitchOn();
+    }
+    else {
+        msg.interactionRelevanceAdvisorySwitchOff();
+    }
+
+    comm->sendMessage(&msg);
+
     G.Out(pdGendoc,"exit 
DeclarationManagement::setInteractionRelevanceAdvisorySwitch");
 }
 
-/* further refinement required, see OM.cc e.g. attributesInScope */
-
 // ----------------------------------------------------------------------------
 // turnInteractionsOn
 void
@@ -499,4 +513,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: DeclarationManagement.cc,v 3.22 2008/07/10 20:20:04 approx Exp $
+// $Id: DeclarationManagement.cc,v 3.23 2008/11/20 18:21:55 approx Exp $

Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.56
retrieving revision 3.57
diff -u -b -r3.56 -r3.57
--- RTIA/ObjectManagement.cc    1 Nov 2008 19:19:36 -0000       3.56
+++ RTIA/ObjectManagement.cc    20 Nov 2008 18:21:55 -0000      3.57
@@ -905,6 +905,22 @@
 setAttributeScopeAdvisorySwitch(bool state, TypeException &e) {
     G.Out(pdGendoc,"enter ObjectManagement::setAttributeScopeAdvisorySwitch");
 
+    NM_Set_Attribute_Scope_Advisory_Switch msg ;
+
+    e = e_NO_EXCEPTION ;
+
+    msg.federation = fm->_numero_federation ;
+    msg.federate = fm->federate ;
+
+    if (state) {
+        msg.attributeScopeAdvisorySwitchOn();
+    }
+    else {
+        msg.attributeScopeAdvisorySwitchOff();
+    }
+
+    comm->sendMessage(&msg);
+
     G.Out(pdGendoc,"exit ObjectManagement::setAttributeScopeAdvisorySwitch");
 }
 
@@ -969,6 +985,22 @@
 setAttributeRelevanceAdvisorySwitch(bool state, TypeException &e) {
     G.Out(pdGendoc,"enter 
ObjectManagement::setAttributeRelevanceAdvisorySwitch");
 
+    NM_Set_Attribute_Relevance_Advisory_Switch msg ;
+
+    e = e_NO_EXCEPTION ;
+
+    msg.federation = fm->_numero_federation ;
+    msg.federate = fm->federate ;
+
+    if (state) {
+        msg.attributeRelevanceAdvisorySwitchOn();
+    }
+    else {
+        msg.attributeRelevanceAdvisorySwitchOff();
+    }
+
+    comm->sendMessage(&msg);
+
     G.Out(pdGendoc,"exit 
ObjectManagement::setAttributeRelevanceAdvisorySwitch");
 }
 

Index: RTIA/RTIA_network.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_network.cc,v
retrieving revision 3.29
retrieving revision 3.30
diff -u -b -r3.29 -r3.30
--- RTIA/RTIA_network.cc        8 Nov 2008 11:36:05 -0000       3.29
+++ RTIA/RTIA_network.cc        20 Nov 2008 18:21:55 -0000      3.30
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIA_network.cc,v 3.29 2008/11/08 11:36:05 erk Exp $
+// $Id: RTIA_network.cc,v 3.30 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -336,6 +336,22 @@
                          " type TimeConstrainedEnabled.");
          queues->insertLastCommand(msg);
          break;
+      case NetworkMessage::SET_CLASS_RELEVANCE_ADVISORY_SWITCH:
+         D.Out(pdTrace, "Receiving Message from RTIG, "
+                         " type setCRAS.");
+         break;
+      case NetworkMessage::SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH:
+         D.Out(pdTrace, "Receiving Message from RTIG, "
+                         " type setIRAS.");
+         break;
+      case NetworkMessage::SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH:
+         D.Out(pdTrace, "Receiving Message from RTIG, "
+                         " type setARAS.");
+         break;
+      case NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH:
+         D.Out(pdTrace, "Receiving Message from RTIG, "
+                         " type setASAS.");
+         break;
 
       default:
       {
@@ -352,4 +368,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: RTIA_network.cc,v 3.29 2008/11/08 11:36:05 erk Exp $
+// $Id: RTIA_network.cc,v 3.30 2008/11/20 18:21:55 approx Exp $

Index: RTIG/Federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federate.cc,v
retrieving revision 3.15
retrieving revision 3.16
diff -u -b -r3.15 -r3.16
--- RTIG/Federate.cc    12 Jun 2008 07:39:51 -0000      3.15
+++ RTIG/Federate.cc    20 Nov 2008 18:21:55 -0000      3.16
@@ -16,7 +16,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Federate.cc,v 3.15 2008/06/12 07:39:51 erk Exp $
+// $Id: Federate.cc,v 3.16 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -43,9 +43,9 @@
 //! A new FederateName is allocated. theLink must have been opened before.
 Federate::Federate(const char *the_name, FederateHandle the_handle)
     throw (RTIinternalError)
-    : handle(the_handle), name(the_name), regulator(false), 
constrained(false), saving(false),
-      restoring(false)
-
+    : handle(the_handle), name(the_name), regulator(false), constrained(false),
+      cras(true), iras(true), aras(false), asas(false), 
+      saving(false), restoring(false)
 {
     if (handle == 0)
         throw RTIinternalError("Bad initialization parameter for Federate.");
@@ -94,4 +94,4 @@
 
 }}
 
-// $Id: Federate.cc,v 3.15 2008/06/12 07:39:51 erk Exp $
+// $Id: Federate.cc,v 3.16 2008/11/20 18:21:55 approx Exp $

Index: RTIG/Federate.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/Federate.hh,v
retrieving revision 3.11
retrieving revision 3.12
diff -u -b -r3.11 -r3.12
--- RTIG/Federate.hh    13 Apr 2005 12:04:01 -0000      3.11
+++ RTIG/Federate.hh    20 Nov 2008 18:21:55 -0000      3.12
@@ -16,7 +16,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Federate.hh,v 3.11 2005/04/13 12:04:01 breholee Exp $
+// $Id: Federate.hh,v 3.12 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_RTIG_FEDERATE_HH
@@ -46,6 +46,16 @@
     void setConstrained(bool c) { constrained = c ; };
     void setRegulator(bool r) { regulator = r ; };
 
+    void setClassRelevanceAdvisorySwitch(bool val) { cras = val ; };
+    void setInteractionRelevanceAdvisorySwitch(bool val) { iras = val ; };
+    void setAttributeRelevanceAdvisorySwitch(bool val) { aras = val ; };
+    void setAttributeScopeAdvisorySwitch(bool val) { asas = val ; };
+
+    bool isClassRelevanceAdvisorySwitch() const { return cras ; };
+    bool isInteractionRelevanceAdvisorySwitch() const { return iras ; };
+    bool isAttributeRelevanceAdvisorySwitch() const { return aras ; };
+    bool isAttributeScopeAdvisorySwitch() const { return asas ; };
+
     bool isSaving() const { return saving ; };
     bool isRestoring() const { return restoring ; };
     void setSaving(bool s) { saving = s ; };
@@ -64,6 +74,11 @@
     bool regulator ;
     bool constrained ; //!< = false by default.
 
+    bool cras ; //!< = class relevance advisory switch -> true  by default.
+    bool iras ; //!< = interaction relevance advisory siwtch -> true  by 
default.
+    bool aras ; //!< = attribute relevance advisory switch -> false by default.
+    bool asas ; //!< = attribute scope advisory switch -> false by default.
+
     typedef std::vector<std::string> SyncList ;
     SyncList syncLabels ; // List of labels to synchronize.
 
@@ -75,4 +90,4 @@
 
 #endif // CERTI_RTIG_FEDERATE_HH
 
-// $Id: Federate.hh,v 3.11 2005/04/13 12:04:01 breholee Exp $
+// $Id: Federate.hh,v 3.12 2008/11/20 18:21:55 approx Exp $

Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.101
retrieving revision 3.102
diff -u -b -r3.101 -r3.102
--- RTIG/Federation.cc  10 Nov 2008 13:19:01 -0000      3.101
+++ RTIG/Federation.cc  20 Nov 2008 18:21:55 -0000      3.102
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Federation.cc,v 3.101 2008/11/10 13:19:01 erk Exp $
+// $Id: Federation.cc,v 3.102 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -508,7 +508,7 @@
 
     if (federate.isConstrained()) {
         D.Out(pdExcept, "Federate %d already constrained.", federate_handle);
-        throw RTIinternalError("Time Regulating already enabled.");
+        throw RTIinternalError("Time Constrained already enabled.");
     }
 
     federate.setConstrained(true);
@@ -517,6 +517,182 @@
 }
 
 // ----------------------------------------------------------------------------
+// Set Class Relevance Advisory Switch
+void
+Federation::setClassRelevanceAdvisorySwitch(FederateHandle federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (federate.isClassRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d already set CRA switch.", 
federate_handle);
+        throw RTIinternalError("CRA switch already enabled.");
+    }
+
+    federate.setClassRelevanceAdvisorySwitch(true);
+    D.Out(pdTerm, "Federation %d: Federate %d sets CRA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Set Interaction Relevance Advisory Switch
+void
+Federation::setInteractionRelevanceAdvisorySwitch(FederateHandle 
federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (federate.isInteractionRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d already set IRA switch.", 
federate_handle);
+        throw RTIinternalError("IRA switch already enabled.");
+    }
+
+    federate.setInteractionRelevanceAdvisorySwitch(true);
+    D.Out(pdTerm, "Federation %d: Federate %d sets IRA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Set Attribute Relevance Advisory Switch
+void
+Federation::setAttributeRelevanceAdvisorySwitch(FederateHandle federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (federate.isAttributeRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d already set ARA switch.", 
federate_handle);
+        throw RTIinternalError("ARA switch already enabled.");
+    }
+
+    federate.setAttributeRelevanceAdvisorySwitch(true);
+    D.Out(pdTerm, "Federation %d: Federate %d sets ARA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Set Attribute Scope Advisory Switch
+void
+Federation::setAttributeScopeAdvisorySwitch(FederateHandle federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (federate.isAttributeScopeAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d already set ASA switch.", 
federate_handle);
+        throw RTIinternalError("ASA switch already enabled.");
+    }
+
+    federate.setAttributeScopeAdvisorySwitch(true);
+    D.Out(pdTerm, "Federation %d: Federate %d sets ASA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Clear Class Relevance Advisory Switch
+void
+Federation::unsetClassRelevanceAdvisorySwitch(FederateHandle federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (!federate.isClassRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d did not set CRA switch.", 
federate_handle);
+        throw RTIinternalError("CRA switch not enabled.");
+    }
+
+    federate.setClassRelevanceAdvisorySwitch(false);
+    D.Out(pdTerm, "Federation %d: Federate %d clears CRA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Clear Interaction Relevance Advisory Switch
+void
+Federation::unsetInteractionRelevanceAdvisorySwitch(FederateHandle 
federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (!federate.isInteractionRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d did not set IRA switch.", 
federate_handle);
+        throw RTIinternalError("IRA switch not enabled.");
+    }
+
+    federate.setInteractionRelevanceAdvisorySwitch(false);
+    D.Out(pdTerm, "Federation %d: Federate %d clears IRA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+// Clear Attribute Relevance Advisory Switch
+void
+Federation::unsetAttributeRelevanceAdvisorySwitch(FederateHandle 
federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (!federate.isAttributeRelevanceAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d did not set ARA switch.", 
federate_handle);
+        throw RTIinternalError("ARA switch not enabled.");
+    }
+
+    federate.setAttributeRelevanceAdvisorySwitch(false);
+    D.Out(pdTerm, "Federation %d: Federate %d clears ARA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
+//  Clear Attribute Scope Advisory Switch
+void
+Federation::unsetAttributeScopeAdvisorySwitch(FederateHandle federate_handle)
+    throw (FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    // It may throw FederateNotExecutionMember
+    Federate &federate = getFederate(federate_handle);
+
+    if (!federate.isAttributeScopeAdvisorySwitch()) {
+        D.Out(pdExcept, "Federate %d did not set ASA switch.", 
federate_handle);
+        throw RTIinternalError("ASA switch not enabled.");
+    }
+
+    federate.setAttributeScopeAdvisorySwitch(false);
+    D.Out(pdTerm, "Federation %d: Federate %d clears ASA switch.",
+              handle, federate_handle);
+}
+
+// ----------------------------------------------------------------------------
 //! Add the Federate to the Regulators List.
 /*! Check if it's already present, but not if the Time 'theTime' is allowed
   or not.
@@ -1602,6 +1778,7 @@
 
     // It may throw *NotDefined
     root->ObjectClasses->subscribe(federate, object, attributes, list_size);
+
     D.Out(pdRegister,
           "Federation %d: Federate %d(un)sub. to %d attrib. of ObjClass %d.",
           handle, federate, list_size, object);
@@ -2305,5 +2482,5 @@
 
 }} // namespace certi/rtig
 
-// $Id: Federation.cc,v 3.101 2008/11/10 13:19:01 erk Exp $
+// $Id: Federation.cc,v 3.102 2008/11/20 18:21:55 approx Exp $
 

Index: RTIG/Federation.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.hh,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- RTIG/Federation.hh  10 Nov 2008 13:19:01 -0000      3.54
+++ RTIG/Federation.hh  20 Nov 2008 18:21:55 -0000      3.55
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: Federation.hh,v 3.54 2008/11/10 13:19:01 erk Exp $
+// $Id: Federation.hh,v 3.55 2008/11/20 18:21:55 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIG_FEDERATION_HH
@@ -583,6 +583,55 @@
               SaveInProgress, RestoreInProgress,
               RTIinternalError);
 
+    // switches
+    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:
     // Private methods
     void broadcastAnyMessage(NetworkMessage *msg, FederateHandle Except);
@@ -618,4 +667,4 @@
 
 #endif // _CERTI_RTIG_FEDERATION_HH
 
-// $Id: Federation.hh,v 3.54 2008/11/10 13:19:01 erk Exp $
+// $Id: Federation.hh,v 3.55 2008/11/20 18:21:55 approx Exp $

Index: RTIG/FederationsList.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.cc,v
retrieving revision 3.61
retrieving revision 3.62
diff -u -b -r3.61 -r3.62
--- RTIG/FederationsList.cc     30 Oct 2008 10:49:28 -0000      3.61
+++ RTIG/FederationsList.cc     20 Nov 2008 18:21:56 -0000      3.62
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: FederationsList.cc,v 3.61 2008/10/30 10:49:28 erk Exp $
+// $Id: FederationsList.cc,v 3.62 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -58,6 +58,198 @@
 }
 
 // ----------------------------------------------------------------------------
+//! Sets Class Relevance Advisory Switch
+void
+FederationsList::setClassRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->setClassRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Clears Class Relevance Advisory Switch
+void
+FederationsList::unsetClassRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->unsetClassRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Sets Interaction Relevance Advisory Switch
+void
+FederationsList::setInteractionRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->setInteractionRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Clears Interaction Relevance Advisory Switch
+void
+FederationsList::unsetInteractionRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->unsetInteractionRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Sets Attribute Relevance Advisory Switch
+void
+FederationsList::setAttributeRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->setAttributeRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Clears Attribute Relevance Advisory Switch
+void
+FederationsList::unsetAttributeRelevanceAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->unsetAttributeRelevanceAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Sets Attribute Scope Advisory Switch
+void
+FederationsList::setAttributeScopeAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->setAttributeScopeAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
+//! Clears Attribute Scope Advisory Switch
+void
+FederationsList::unsetAttributeScopeAdvisorySwitch(Handle handle,
+                                                FederateHandle federate)
+    throw (FederationExecutionDoesNotExist,
+           FederateNotExecutionMember,
+           SaveInProgress,
+           RestoreInProgress,
+           RTIinternalError)
+{
+    Federation *federation = NULL ;
+
+    // It may throw RTIinternalError.
+    checkHandle(handle);
+    checkHandle(federate);
+
+    // It may throw FederationExecutionDoesNotExist.
+    searchFederation(handle, federation);
+
+    // It may throw a bunch of exceptions.
+    federation->unsetAttributeScopeAdvisorySwitch(federate);
+}
+
+// ----------------------------------------------------------------------------
 //! Adds a constrained federate to federation.
 void
 FederationsList::addConstrained(Handle handle,
@@ -1558,5 +1750,5 @@
 
 }} // certi::rtig
 
-// EOF $Id: FederationsList.cc,v 3.61 2008/10/30 10:49:28 erk Exp $
+// EOF $Id: FederationsList.cc,v 3.62 2008/11/20 18:21:56 approx Exp $
 

Index: RTIG/FederationsList.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.hh,v
retrieving revision 3.47
retrieving revision 3.48
diff -u -b -r3.47 -r3.48
--- RTIG/FederationsList.hh     9 Nov 2008 12:41:40 -0000       3.47
+++ RTIG/FederationsList.hh     20 Nov 2008 18:21:56 -0000      3.48
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: FederationsList.hh,v 3.47 2008/11/09 12:41:40 gotthardp Exp $
+// $Id: FederationsList.hh,v 3.48 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIG_FEDERATIONS_LIST_HH
@@ -166,6 +166,70 @@
                FederateNotExecutionMember,
                RTIinternalError);
 
+    void setClassRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void unsetClassRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+    
+    void setInteractionRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void unsetInteractionRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void setAttributeRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void unsetAttributeRelevanceAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void setAttributeScopeAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
+    void unsetAttributeScopeAdvisorySwitch(Handle theHandle,
+                        FederateHandle theFederateHandle)
+        throw (FederationExecutionDoesNotExist,
+               FederateNotExecutionMember,
+               SaveInProgress,
+               RestoreInProgress,
+               RTIinternalError);
+
     void killFederate(Handle, FederateHandle)
         throw ();
 
@@ -585,4 +649,4 @@
 
 #endif // _CERTI_RTIG_FEDERATIONS_LIST_HH
 
-// $Id: FederationsList.hh,v 3.47 2008/11/09 12:41:40 gotthardp Exp $
+// $Id: FederationsList.hh,v 3.48 2008/11/20 18:21:56 approx Exp $

Index: RTIG/RTIG.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.cc,v
retrieving revision 3.52
retrieving revision 3.53
diff -u -b -r3.52 -r3.53
--- RTIG/RTIG.cc        30 Oct 2008 10:49:27 -0000      3.52
+++ RTIG/RTIG.cc        20 Nov 2008 18:21:56 -0000      3.53
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIG.cc,v 3.52 2008/10/30 10:49:27 erk Exp $
+// $Id: RTIG.cc,v 3.53 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -246,17 +246,31 @@
         break ;
 
       case NetworkMessage::SET_CLASS_RELEVANCE_ADVISORY_SWITCH:
-       D[pdTrace] << "setClassRelevanceAdvisorySwitch (DM) " <<
-               static_cast<NM_Set_Class_Relevance_Advisory_Switch*>(msg)->
-               getClassRelevanceAdvisorySwitch() <<  endl;
-        auditServer.setLevel(6);
-       /*
-        * Successful passing of services
-        * enableClassRelevanceAdvisorySwitch
-        * and
-        * disableClassRelevanceAdvisorySwitch
-        * to RTIG
-        */
+       D.Out(pdTrace, "setClassRelevanceAdvisorySwitch.");
+        auditServer.setLevel(6);
+        processSetClassRelevanceAdvisorySwitch(link, 
+                       
static_cast<NM_Set_Class_Relevance_Advisory_Switch*>(msg));
+       break;
+
+      case NetworkMessage::SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH:
+       D.Out(pdTrace, "setInteractionRelevanceAdvisorySwitch.");
+        auditServer.setLevel(6);
+        processSetInteractionRelevanceAdvisorySwitch(link,
+                       
static_cast<NM_Set_Interaction_Relevance_Advisory_Switch*>(msg));
+       break;
+
+      case NetworkMessage::SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH:
+       D.Out(pdTrace, "setAttributeRelevanceAdvisorySwitch.");
+        auditServer.setLevel(6);
+        processSetAttributeRelevanceAdvisorySwitch(link,
+                       
static_cast<NM_Set_Attribute_Relevance_Advisory_Switch*>(msg));
+       break;
+
+      case NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH:
+       D.Out(pdTrace, "setAttributeScopeAdvisorySwitch.");
+        auditServer.setLevel(6);
+        processSetAttributeScopeAdvisorySwitch(link,
+                       
static_cast<NM_Set_Attribute_Scope_Advisory_Switch*>(msg));
        break;
 
       case NetworkMessage::REGISTER_OBJECT:
@@ -1025,4 +1039,4 @@
 
 }} // namespace certi/rtig
 
-// $Id: RTIG.cc,v 3.52 2008/10/30 10:49:27 erk Exp $
+// $Id: RTIG.cc,v 3.53 2008/11/20 18:21:56 approx Exp $

Index: RTIG/RTIG.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.hh,v
retrieving revision 3.30
retrieving revision 3.31
diff -u -b -r3.30 -r3.31
--- RTIG/RTIG.hh        30 Oct 2008 10:49:28 -0000      3.30
+++ RTIG/RTIG.hh        20 Nov 2008 18:21:56 -0000      3.31
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIG.hh,v 3.30 2008/10/30 10:49:28 erk Exp $
+// $Id: RTIG.hh,v 3.31 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_RTIG_HH
@@ -73,6 +73,14 @@
     void processJoinFederation(Socket*, NetworkMessage*);
     void processResignFederation(Socket*,Handle, FederateHandle);
     void processDestroyFederation(Socket*, NetworkMessage*);
+    void processSetClassRelevanceAdvisorySwitch(Socket*, 
+                               NM_Set_Class_Relevance_Advisory_Switch*);
+    void processSetInteractionRelevanceAdvisorySwitch(Socket*, 
+                               NM_Set_Interaction_Relevance_Advisory_Switch*);
+    void processSetAttributeRelevanceAdvisorySwitch(Socket*,
+                               NM_Set_Attribute_Relevance_Advisory_Switch*);
+    void processSetAttributeScopeAdvisorySwitch(Socket*, 
+                               NM_Set_Attribute_Scope_Advisory_Switch*);
     void processSetTimeRegulating(Socket*, NM_Set_Time_Regulating *msg);
     void processSetTimeConstrained(Socket*, NM_Set_Time_Constrained *msg);
     void processMessageNull(NetworkMessage*);
@@ -136,4 +144,4 @@
 
 #endif // CERTI_RTIG_HH
 
-// $Id: RTIG.hh,v 3.30 2008/10/30 10:49:28 erk Exp $
+// $Id: RTIG.hh,v 3.31 2008/11/20 18:21:56 approx Exp $

Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.78
retrieving revision 3.79
diff -u -b -r3.78 -r3.79
--- RTIG/RTIG_processing.cc     13 Oct 2008 10:06:47 -0000      3.78
+++ RTIG/RTIG_processing.cc     20 Nov 2008 18:21:56 -0000      3.79
@@ -18,7 +18,7 @@
 // along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: RTIG_processing.cc,v 3.78 2008/10/13 10:06:47 erk Exp $
+// $Id: RTIG_processing.cc,v 3.79 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -392,6 +392,126 @@
 }
 
 // ----------------------------------------------------------------------------
+//! Set federate's class relevance advisroy switch
+void
+RTIG::processSetClassRelevanceAdvisorySwitch(Socket *link, 
+                            NM_Set_Class_Relevance_Advisory_Switch *msg)
+{
+  NM_Set_Class_Relevance_Advisory_Switch rep;
+
+  G.Out(pdGendoc,"enter RTIG::processSetClassRelevanceAdvisorySwitch");
+  G.Out(pdGendoc,"BEGIN ** SET CLASS RELEVANCE ADVISORY SWITCH **");
+
+  if (msg->getClassRelevanceAdvisorySwitch()) {
+        auditServer << "ON";
+       federations.setClassRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u sets 
AttributeRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+  else {
+        auditServer << "OFF";
+       federations.unsetClassRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u clears 
AttributeRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+
+  rep.send(link,NM_msgBufSend);
+
+  G.Out(pdGendoc,"END ** SET CLASS RELEVANCE ADVISORY SWITCH **");
+  G.Out(pdGendoc,"exit RTIG::processSetClassRelevanceAdvisorySwitch");
+}
+
+// ----------------------------------------------------------------------------
+//! Set federate's interaction relevance advisroy switch
+void
+RTIG::processSetInteractionRelevanceAdvisorySwitch(Socket *link,
+                            NM_Set_Interaction_Relevance_Advisory_Switch *msg)
+{
+  NM_Set_Interaction_Relevance_Advisory_Switch rep;
+
+  G.Out(pdGendoc,"enter RTIG::processSetInteractionRelevanceAdvisorySwitch");
+  G.Out(pdGendoc,"BEGIN ** SET INTERACTION RELEVANCE ADVISORY SWITCH **");
+
+  if (msg->getInteractionRelevanceAdvisorySwitch()) {
+        auditServer << "ON";
+       federations.setInteractionRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u sets 
InteractionRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+  else {
+        auditServer << "OFF";
+       federations.unsetInteractionRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u clears 
InteractionRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+
+  rep.send(link,NM_msgBufSend);
+
+  G.Out(pdGendoc,"END ** SET INTERACTION RELEVANCE ADVISORY SWITCH **");
+  G.Out(pdGendoc,"exit RTIG::processSetInteractionRelevanceAdvisorySwitch");
+}
+
+// ----------------------------------------------------------------------------
+//! Set federate's attribute relevance advisroy switch
+void
+RTIG::processSetAttributeRelevanceAdvisorySwitch(Socket *link, 
+                            NM_Set_Attribute_Relevance_Advisory_Switch *msg)
+{
+  NM_Set_Attribute_Relevance_Advisory_Switch rep;
+
+  G.Out(pdGendoc,"enter RTIG::processSetAttributeRelevanceAdvisorySwitch");
+  G.Out(pdGendoc,"BEGIN ** SET ATTRIBUTE RELEVANCE ADVISORY SWITCH **");
+
+  if (msg->getAttributeRelevanceAdvisorySwitch()) {
+        auditServer << "ON";
+       federations.setAttributeRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u sets 
AttributeRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+  else {
+        auditServer << "OFF";
+       federations.unsetAttributeRelevanceAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u clears 
AttributeRelevanceAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+
+  rep.send(link,NM_msgBufSend);
+
+  G.Out(pdGendoc,"END ** SET ATTRIBUTE RELEVANCE ADVISORY SWITCH **");
+  G.Out(pdGendoc,"exit RTIG::processSetAttributeRelevanceAdvisorySwitch");
+}
+
+// ----------------------------------------------------------------------------
+//! Set federate's attribute scope advisroy switch
+void
+RTIG::processSetAttributeScopeAdvisorySwitch(Socket *link,
+                            NM_Set_Attribute_Scope_Advisory_Switch *msg)
+{
+  NM_Set_Attribute_Scope_Advisory_Switch rep;
+
+  G.Out(pdGendoc,"enter RTIG::processSetAttributeScopeAdvisorySwitch");
+  G.Out(pdGendoc,"BEGIN ** SET ATTRIBUTE SCOPE ADVISORY SWITCH **");
+
+  if (msg->getAttributeScopeAdvisorySwitch()) {
+        auditServer << "ON";
+       federations.setAttributeScopeAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u sets 
AttributeScopeAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+  else {
+        auditServer << "OFF";
+       federations.unsetAttributeScopeAdvisorySwitch(msg->federation, 
msg->federate);
+        D.Out(pdTerm, "Federate %u of Federation %u clears 
AttributeScopeAdvisorySwitch.",
+              msg->federate, msg->federation);
+  }
+
+  rep.send(link,NM_msgBufSend);
+
+  G.Out(pdGendoc,"END ** SET ATTRIBUTE SCOPE ADVISORY SWITCH **");
+  G.Out(pdGendoc,"exit RTIG::processSetAttributeScopeAdvisorySwitch");
+}
+
+// ----------------------------------------------------------------------------
 //! Put federate as time regulating.
 void
 RTIG::processSetTimeRegulating(Socket *link, NM_Set_Time_Regulating *msg)
@@ -694,6 +814,9 @@
                                sub ? req->handleArray : arrayVide,
                                sub ? req->handleArraySize : 0);
 
+    /* here we want a callback -> inform publisher(s) of objectclass
+     * with startRegistrationForObjectClass */
+
     D.Out(pdRegister,
           "Federate %u of Federation %u subscribed to object class %d.",
           req->federate, req->federation, req->objectClass);
@@ -1433,4 +1556,4 @@
 
 }} // namespace certi/rtig
 
-// $Id: RTIG_processing.cc,v 3.78 2008/10/13 10:06:47 erk Exp $
+// $Id: RTIG_processing.cc,v 3.79 2008/11/20 18:21:56 approx Exp $

Index: libCERTI/NM_Classes.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.cc,v
retrieving revision 3.13
retrieving revision 3.14
diff -u -b -r3.13 -r3.14
--- libCERTI/NM_Classes.cc      18 Sep 2008 14:41:29 -0000      3.13
+++ libCERTI/NM_Classes.cc      20 Nov 2008 18:21:56 -0000      3.14
@@ -150,6 +150,15 @@
        case NetworkMessage::SET_CLASS_RELEVANCE_ADVISORY_SWITCH:
                msg = new NM_Set_Class_Relevance_Advisory_Switch();
                break;
+       case NetworkMessage::SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH:
+               msg = new NM_Set_Interaction_Relevance_Advisory_Switch();
+               break;
+       case NetworkMessage::SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH:
+               msg = new NM_Set_Attribute_Relevance_Advisory_Switch();
+               break;
+       case NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH:
+               msg = new NM_Set_Attribute_Scope_Advisory_Switch();
+               break;
        case NetworkMessage::TURN_INTERACTIONS_ON:
                msg = new NM_Turn_Interactions_On(); 
                break;
@@ -578,7 +587,76 @@
        /* specific code (if any) goes here */
        classRelevanceAdvisorySwitch = msgBuffer.read_bool();
 } /* end of deserialize */
-/*<END>---------- Set_Class_Relevance_Advisory_Switch ------------<BEGIN>*/
+/*<END>---------- Set_Class_Relevance_Advisory_Switch ------------<END>*/
+
+/*<BEGIN>---------- Set_Interaction_Relevance_Advisory_Switch 
------------<BEGIN>*/
+NM_Set_Interaction_Relevance_Advisory_Switch::NM_Set_Interaction_Relevance_Advisory_Switch()
 {
+       this->name = "SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH";
+       this->type = NetworkMessage::SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH;
+       /* specific field init */
+       interactionRelevanceAdvisorySwitch=true;
+}
+NM_Set_Interaction_Relevance_Advisory_Switch::~NM_Set_Interaction_Relevance_Advisory_Switch()
 {
+}
+void NM_Set_Interaction_Relevance_Advisory_Switch::serialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::serialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       msgBuffer.write_bool(interactionRelevanceAdvisorySwitch);  
+} /* end of serialize */ 
+void NM_Set_Interaction_Relevance_Advisory_Switch::deserialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::deserialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       interactionRelevanceAdvisorySwitch = msgBuffer.read_bool();
+} /* end of deserialize */
+/*<END>---------- Set_Interaction_Relevance_Advisory_Switch ------------<END>*/
+
+/*<BEGIN>---------- Set_Attribute_Relevance_Advisory_Switch 
------------<BEGIN>*/
+NM_Set_Attribute_Relevance_Advisory_Switch::NM_Set_Attribute_Relevance_Advisory_Switch()
 {
+       this->name = "SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH";
+       this->type = NetworkMessage::SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH;
+       /* specific field init */
+       attributeRelevanceAdvisorySwitch=false;
+}
+NM_Set_Attribute_Relevance_Advisory_Switch::~NM_Set_Attribute_Relevance_Advisory_Switch()
 {
+}
+void NM_Set_Attribute_Relevance_Advisory_Switch::serialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::serialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       msgBuffer.write_bool(attributeRelevanceAdvisorySwitch);  
+} /* end of serialize */ 
+void NM_Set_Attribute_Relevance_Advisory_Switch::deserialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::deserialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       attributeRelevanceAdvisorySwitch = msgBuffer.read_bool();
+} /* end of deserialize */
+/*<END>---------- Set_Attribute_Relevance_Advisory_Switch ------------<END>*/
+
+/*<BEGIN>---------- Set_Attribute_Scope_Advisory_Switch ------------<BEGIN>*/
+NM_Set_Attribute_Scope_Advisory_Switch::NM_Set_Attribute_Scope_Advisory_Switch()
 {
+       this->name = "SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH";
+       this->type = NetworkMessage::SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH;
+       /* specific field init */
+       attributeScopeAdvisorySwitch=false;
+}
+NM_Set_Attribute_Scope_Advisory_Switch::~NM_Set_Attribute_Scope_Advisory_Switch()
 {
+}
+void NM_Set_Attribute_Scope_Advisory_Switch::serialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::serialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       msgBuffer.write_bool(attributeScopeAdvisorySwitch);  
+} /* end of serialize */ 
+void NM_Set_Attribute_Scope_Advisory_Switch::deserialize(MessageBuffer& 
msgBuffer) {
+       /* call mother class */      
+       Super::deserialize(msgBuffer); 
+       /* specific code (if any) goes here */
+       attributeScopeAdvisorySwitch = msgBuffer.read_bool();
+} /* end of deserialize */
+/*<END>---------- Set_Attribute_Scope_Advisory_Switch ------------<END>*/
 
 /*<BEGIN>---------- Register_Federation_Synchronization_Point 
------------<BEGIN>*/
 
NM_Register_Federation_Synchronization_Point::NM_Register_Federation_Synchronization_Point()
 {

Index: libCERTI/NM_Classes.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.hh,v
retrieving revision 3.8
retrieving revision 3.9
diff -u -b -r3.8 -r3.9
--- libCERTI/NM_Classes.hh      10 Jul 2008 20:20:06 -0000      3.8
+++ libCERTI/NM_Classes.hh      20 Nov 2008 18:21:56 -0000      3.9
@@ -297,6 +297,75 @@
 
 /*<END>---------- Set_Class_Relevance_Advisory_Switch ------------<END>*/
 
+/*<BEGIN>---------- Set_Interaction_Relevance_Advisory_Switch 
------------<BEGIN>*/
+class CERTI_EXPORT NM_Set_Interaction_Relevance_Advisory_Switch : public 
NetworkMessage {
+public:
+       typedef NetworkMessage Super;
+       NM_Set_Interaction_Relevance_Advisory_Switch();
+       virtual ~NM_Set_Interaction_Relevance_Advisory_Switch();
+       virtual void serialize(MessageBuffer& msgBuffer);
+       virtual void deserialize(MessageBuffer& msgBuffer);
+       /* specific Getter/Setter */
+       void interactionRelevanceAdvisorySwitchOn() { 
+               interactionRelevanceAdvisorySwitch=true;};
+       void interactionRelevanceAdvisorySwitchOff() { 
+               interactionRelevanceAdvisorySwitch=false;};     
+       bool getInteractionRelevanceAdvisorySwitch() {
+               return interactionRelevanceAdvisorySwitch;};
+protected:
+       /* specific field */
+       /* value of IRA switch */
+       bool interactionRelevanceAdvisorySwitch ;
+private:
+};
+
+/*<END>---------- Set_Interaction_Relevance_Advisory_Switch ------------<END>*/
+
+/*<BEGIN>---------- Set_Attribute_Relevance_Advisory_Switch 
------------<BEGIN>*/
+class CERTI_EXPORT NM_Set_Attribute_Relevance_Advisory_Switch : public 
NetworkMessage {
+public:
+       typedef NetworkMessage Super;
+       NM_Set_Attribute_Relevance_Advisory_Switch();
+       virtual ~NM_Set_Attribute_Relevance_Advisory_Switch();
+       virtual void serialize(MessageBuffer& msgBuffer);
+       virtual void deserialize(MessageBuffer& msgBuffer);
+       /* specific Getter/Setter */
+       void attributeRelevanceAdvisorySwitchOn() {
+                       attributeRelevanceAdvisorySwitch=true;};
+       void attributeRelevanceAdvisorySwitchOff() {
+                       attributeRelevanceAdvisorySwitch=false;};       
+       bool getAttributeRelevanceAdvisorySwitch() {return 
+               attributeRelevanceAdvisorySwitch;};
+protected:
+       /* specific field */
+       /* value of ARA switch */
+       bool attributeRelevanceAdvisorySwitch ;
+private:
+};
+
+/*<END>---------- Set_Attribute_Relevance_Advisory_Switch ------------<END>*/
+
+/*<BEGIN>---------- Set_Attribute_Scope_Advisory_Switch ------------<BEGIN>*/
+class CERTI_EXPORT NM_Set_Attribute_Scope_Advisory_Switch : public 
NetworkMessage {
+public:
+       typedef NetworkMessage Super;
+       NM_Set_Attribute_Scope_Advisory_Switch();
+       virtual ~NM_Set_Attribute_Scope_Advisory_Switch();
+       virtual void serialize(MessageBuffer& msgBuffer);
+       virtual void deserialize(MessageBuffer& msgBuffer);
+       /* specific Getter/Setter */
+       void attributeScopeAdvisorySwitchOn() 
{attributeScopeAdvisorySwitch=true;};
+       void attributeScopeAdvisorySwitchOff() 
{attributeScopeAdvisorySwitch=false;};   
+       bool getAttributeScopeAdvisorySwitch() {return 
attributeScopeAdvisorySwitch;};
+protected:
+       /* specific field */
+       /* value of ASA switch */
+       bool attributeScopeAdvisorySwitch ;
+private:
+};
+
+/*<END>---------- Set_Attribute_Scope_Advisory_Switch ------------<END>*/
+
 /*<BEGIN>---------- Register_Federation_Synchronization_Point 
------------<BEGIN>*/
 class CERTI_EXPORT NM_Register_Federation_Synchronization_Point : public 
NM_WithHandleArray {
 public:

Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.43
retrieving revision 3.44
diff -u -b -r3.43 -r3.44
--- libCERTI/NetworkMessage.hh  18 Sep 2008 14:41:29 -0000      3.43
+++ libCERTI/NetworkMessage.hh  20 Nov 2008 18:21:56 -0000      3.44
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: NetworkMessage.hh,v 3.43 2008/09/18 14:41:29 gotthardp Exp $
+// $Id: NetworkMessage.hh,v 3.44 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_NETWORK_MESSAGE_HH
@@ -140,6 +140,9 @@
                PROVIDE_ATTRIBUTE_VALUE_UPDATE,
                GET_FED_FILE,
                SET_CLASS_RELEVANCE_ADVISORY_SWITCH,
+               SET_INTERACTION_RELEVANCE_ADVISORY_SWITCH,
+               SET_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH,
+               SET_ATTRIBUTE_SCOPE_ADVISORY_SWITCH,
                LAST            
        } Message_T;    
 
@@ -345,4 +348,4 @@
 
 #endif // CERTI_NETWORK_MESSAGE_HH
 
-// $Id: NetworkMessage.hh,v 3.43 2008/09/18 14:41:29 gotthardp Exp $
+// $Id: NetworkMessage.hh,v 3.44 2008/11/20 18:21:56 approx Exp $

Index: libCERTI/PrettyDebEx.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/PrettyDebEx.cc,v
retrieving revision 4.5
retrieving revision 4.6
diff -u -b -r4.5 -r4.6
--- libCERTI/PrettyDebEx.cc     10 Oct 2008 15:18:23 -0000      4.5
+++ libCERTI/PrettyDebEx.cc     20 Nov 2008 18:21:56 -0000      4.6
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: PrettyDebEx.cc,v 4.5 2008/10/10 15:18:23 gotthardp Exp $
+// $Id: PrettyDebEx.cc,v 4.6 2008/11/20 18:21:56 approx Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -201,16 +201,25 @@
                case certi::Message::GET_TRANSPORTATION_NAME :                  
                                        
strcat(theMessage,"GET_TRANSPORTATION_NAME"); break;
                case certi::Message::GET_ORDERING_HANDLE :                      
                                                
strcat(theMessage,"GET_ORDERING_HANDLE"); break;
                case certi::Message::GET_ORDERING_NAME :                        
                                                        
strcat(theMessage,"GET_ORDERING_NAME"); break;
-               case certi::Message::ENABLE_CLASS_RELEVANCE_ADVISORY_SWITCH :   
                strcat(theMessage,"ENABLE_CLASS_RELEVANCE_ADVISORY_SWITCH"); 
break;
-               case certi::Message::DISABLE_CLASS_RELEVANCE_ADVISORY_SWITCH :  
                strcat(theMessage,"DISABLE_CLASS_RELEVANCE_ADVISORY_SWITCH"); 
break;
-               case certi::Message::ENABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH 
:               
strcat(theMessage,"ENABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH"); break;
-               case 
certi::Message::DISABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH :      
strcat(theMessage,"DISABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH"); break;
-               case certi::Message::ENABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH :   
                strcat(theMessage,"ENABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH"); 
break;
-               case certi::Message::DISABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH :  
                strcat(theMessage,"DISABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH"); 
break;
-               case 
certi::Message::ENABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH :     
strcat(theMessage,"ENABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH"); break;
-               case 
certi::Message::DISABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH:     
strcat(theMessage,"DISABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH"); break;
+               case certi::Message::ENABLE_CLASS_RELEVANCE_ADVISORY_SWITCH :   
                
+                       
strcat(theMessage,"ENABLE_CLASS_RELEVANCE_ADVISORY_SWITCH"); break;
+               case certi::Message::DISABLE_CLASS_RELEVANCE_ADVISORY_SWITCH :  
                
+                       
strcat(theMessage,"DISABLE_CLASS_RELEVANCE_ADVISORY_SWITCH"); break;
+               case certi::Message::ENABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH 
:               
+                       
strcat(theMessage,"ENABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH"); break;
+               case 
certi::Message::DISABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH :
+                       
strcat(theMessage,"DISABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH"); break;
+               case certi::Message::ENABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH :
+                       
strcat(theMessage,"ENABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH"); break;
+               case certi::Message::DISABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH :
+                       
strcat(theMessage,"DISABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH"); break;
+               case 
certi::Message::ENABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH :     
+                       
strcat(theMessage,"ENABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH"); break;
+               case 
certi::Message::DISABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH:
+                       
strcat(theMessage,"DISABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH"); break;
                case certi::Message::TICK_REQUEST :                             
                                                                
strcat(theMessage,"TICK_REQUEST"); break;
-               default:                                                        
                                                                                
                                sprintf(theMessage,"LOCAL UNKNOWED MESSAGE 
%hd",testMess);
+               default:
+                       sprintf(theMessage,"LOCAL UNKNOWED MESSAGE 
%hd",testMess);
                }               
        }
 else if (type == 'N')
@@ -308,4 +317,4 @@
 }
 #endif // NDEBUG
 
-// $Id: PrettyDebEx.cc,v 4.5 2008/10/10 15:18:23 gotthardp Exp $
+// $Id: PrettyDebEx.cc,v 4.6 2008/11/20 18:21:56 approx Exp $

Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.97
retrieving revision 3.98
diff -u -b -r3.97 -r3.98
--- libRTI/RTIambassador.cc     6 Nov 2008 14:28:58 -0000       3.97
+++ libRTI/RTIambassador.cc     20 Nov 2008 18:21:57 -0000      3.98
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambassador.cc,v 3.97 2008/11/06 14:28:58 gotthardp Exp $
+// $Id: RTIambassador.cc,v 3.98 2008/11/20 18:21:57 approx Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -2761,6 +2761,7 @@
     Message req, rep ;
 
     req.type = Message::ENABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH ;
+    req.setBoolean(true);
     privateRefs->executeService(&req, &rep);
 }
 
@@ -2774,6 +2775,7 @@
     Message req, rep ;
 
     req.type = Message::DISABLE_ATTRIBUTE_RELEVANCE_ADVISORY_SWITCH ;
+    req.setBoolean(false);
     privateRefs->executeService(&req, &rep);
 }
 
@@ -2786,6 +2788,7 @@
     Message req, rep ;
 
     req.type = Message::ENABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH ;
+    req.setBoolean(true);
     privateRefs->executeService(&req, &rep);
 }
 
@@ -2799,6 +2802,7 @@
     Message req, rep ;
 
     req.type = Message::DISABLE_ATTRIBUTE_SCOPE_ADVISORY_SWITCH ;
+    req.setBoolean(false);
     privateRefs->executeService(&req, &rep);
 }
 
@@ -2812,6 +2816,7 @@
     Message req, rep ;
 
     req.type = Message::ENABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH ;
+    req.setBoolean(true);
     privateRefs->executeService(&req, &rep);
 }
 
@@ -2825,7 +2830,8 @@
     Message req, rep ;
 
     req.type = Message::DISABLE_INTERACTION_RELEVANCE_ADVISORY_SWITCH ;
+    req.setBoolean(false);
     privateRefs->executeService(&req, &rep);
 }
 
-// $Id: RTIambassador.cc,v 3.97 2008/11/06 14:28:58 gotthardp Exp $
+// $Id: RTIambassador.cc,v 3.98 2008/11/20 18:21:57 approx Exp $




reply via email to

[Prev in Thread] Current Thread [Next in Thread]