certi-cvs
[Top][All Lists]
Advanced

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

[certi-cvs] certi RTIA/DataDistribution.cc RTIA/DataDistrib...


From: certi-cvs
Subject: [certi-cvs] certi RTIA/DataDistribution.cc RTIA/DataDistrib...
Date: Tue, 10 Jun 2008 13:41:48 +0000

CVSROOT:        /sources/certi
Module name:    certi
Changes by:     ROUSSELOT <rousse>      08/06/10 13:41:47

Modified files:
        RTIA           : DataDistribution.cc DataDistribution.hh 
                         DeclarationManagement.cc 
                         DeclarationManagement.hh 
                         FederationManagement.cc FederationManagement.hh 
                         ObjectManagement.cc ObjectManagement.hh 
                         OwnershipManagement.cc OwnershipManagement.hh 
                         RTIA_federate.cc TimeManagement.cc 
        RTIG           : Federation.cc Federation.hh FederationsList.cc 
                         FederationsList.hh RTIG_processing.cc 
        libCERTI       : Interaction.cc Interaction.hh InteractionSet.cc 
                         InteractionSet.hh Message.cc Message.hh 
                         Message_R.cc Message_W.cc NM_Classes.cc 
                         NetworkMessage.cc NetworkMessage.hh 
                         ObjectClass.cc ObjectClass.hh ObjectClassSet.cc 
                         ObjectClassSet.hh ObjectSet.cc ObjectSet.hh 
        libRTI         : RTIambassador.cc 

Log message:
        #23329 BUG continued (handleArray, size unlimited) to be continued.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DataDistribution.cc?cvsroot=certi&r1=3.24&r2=3.25
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DataDistribution.hh?cvsroot=certi&r1=3.15&r2=3.16
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DeclarationManagement.cc?cvsroot=certi&r1=3.19&r2=3.20
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/DeclarationManagement.hh?cvsroot=certi&r1=3.7&r2=3.8
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/FederationManagement.cc?cvsroot=certi&r1=3.65&r2=3.66
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/FederationManagement.hh?cvsroot=certi&r1=3.23&r2=3.24
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.46&r2=3.47
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.hh?cvsroot=certi&r1=3.21&r2=3.22
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/OwnershipManagement.cc?cvsroot=certi&r1=3.14&r2=3.15
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/OwnershipManagement.hh?cvsroot=certi&r1=3.7&r2=3.8
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.81&r2=3.82
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.40&r2=3.41
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.88&r2=3.89
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.hh?cvsroot=certi&r1=3.47&r2=3.48
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.cc?cvsroot=certi&r1=3.56&r2=3.57
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.hh?cvsroot=certi&r1=3.41&r2=3.42
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.72&r2=3.73
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Interaction.cc?cvsroot=certi&r1=3.37&r2=3.38
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Interaction.hh?cvsroot=certi&r1=3.26&r2=3.27
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/InteractionSet.cc?cvsroot=certi&r1=3.20&r2=3.21
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/InteractionSet.hh?cvsroot=certi&r1=3.15&r2=3.16
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message.cc?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message.hh?cvsroot=certi&r1=3.46&r2=3.47
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_R.cc?cvsroot=certi&r1=3.26&r2=3.27
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&r1=3.31&r2=3.32
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NM_Classes.cc?cvsroot=certi&r1=3.8&r2=3.9
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.cc?cvsroot=certi&r1=3.32&r2=3.33
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&r1=3.36&r2=3.37
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClass.cc?cvsroot=certi&r1=3.46&r2=3.47
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClass.hh?cvsroot=certi&r1=3.34&r2=3.35
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClassSet.cc?cvsroot=certi&r1=3.35&r2=3.36
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClassSet.hh?cvsroot=certi&r1=3.27&r2=3.28
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectSet.cc?cvsroot=certi&r1=3.21&r2=3.22
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectSet.hh?cvsroot=certi&r1=3.12&r2=3.13
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.86&r2=3.87

Patches:
Index: RTIA/DataDistribution.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DataDistribution.cc,v
retrieving revision 3.24
retrieving revision 3.25
diff -u -b -r3.24 -r3.25
--- RTIA/DataDistribution.cc    26 Apr 2008 14:59:42 -0000      3.24
+++ RTIA/DataDistribution.cc    10 Jun 2008 13:41:43 -0000      3.25
@@ -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: DataDistribution.cc,v 3.24 2008/04/26 14:59:42 erk Exp $
+// $Id: DataDistribution.cc,v 3.25 2008/06/10 13:41:43 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -214,7 +214,7 @@
 void
 DataDistribution::associateRegion(ObjectHandle object,
                                  RegionHandle region,
-                                 AttributeHandle *attr,
+                                 std::vector <AttributeHandle> &attr,
                                  int nb,
                                  TypeException &e)
     throw (RegionNotKnown)
@@ -236,6 +236,7 @@
     req.federate = fm->federate ;
     req.object = object ;
     req.region = region ;
+
     req.setAHS(attr, nb);
 
     comm->sendMessage(&req);
@@ -249,7 +250,7 @@
 ObjectHandle
 DataDistribution::registerObject(ObjectClassHandle class_handle,
                                 const std::string name,
-                                const AttributeHandle *attrs,
+                                const std::vector <AttributeHandle> &attrs,
                                 int nb,
                                 const std::vector<RegionHandle> regions,
                                 TypeException &e)
@@ -318,7 +319,7 @@
 void
 DataDistribution::subscribe(ObjectClassHandle obj_class,
                            RegionHandle region,
-                           AttributeHandle *attr,
+                           std::vector <AttributeHandle> &attr,
                            int nb,
                            TypeException &e)
     throw (RegionNotKnown)
@@ -412,4 +413,4 @@
 
 }} // namespace certi::rtia
 
-// $Id: DataDistribution.cc,v 3.24 2008/04/26 14:59:42 erk Exp $
+// $Id: DataDistribution.cc,v 3.25 2008/06/10 13:41:43 rousse Exp $

Index: RTIA/DataDistribution.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/DataDistribution.hh,v
retrieving revision 3.15
retrieving revision 3.16
diff -u -b -r3.15 -r3.16
--- RTIA/DataDistribution.hh    25 Mar 2005 17:37:53 -0000      3.15
+++ RTIA/DataDistribution.hh    10 Jun 2008 13:41:44 -0000      3.16
@@ -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: DataDistribution.hh,v 3.15 2005/03/25 17:37:53 breholee Exp $
+// $Id: DataDistribution.hh,v 3.16 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_DATA_DISTRIBUTION
@@ -62,19 +62,19 @@
     void deleteRegion(long, TypeException &)
         throw (RegionNotKnown, RegionInUse);
 
-    void associateRegion(ObjectHandle, RegionHandle, AttributeHandle *,
+    void associateRegion(ObjectHandle, RegionHandle, std::vector 
<AttributeHandle> &,
                         int, TypeException &)
        throw (RegionNotKnown);
 
     ObjectHandle registerObject(ObjectClassHandle, const std::string,
-                               const AttributeHandle *, int,
+                               const std::vector <AttributeHandle> &, int,
                                const std::vector<RegionHandle>,
                                TypeException &);
 
     void unassociateRegion(ObjectHandle, RegionHandle, TypeException &e)
        throw (ObjectNotKnown, InvalidRegionContext, RegionNotKnown);
 
-    void subscribe(ObjectClassHandle, RegionHandle, AttributeHandle *, int,
+    void subscribe(ObjectClassHandle, RegionHandle, std::vector 
<AttributeHandle> &, int,
                   TypeException &)
        throw (RegionNotKnown);
 
@@ -99,4 +99,4 @@
 
 #endif // _CERTI_DATA_DISTRIBUTION
 
-// $Id: DataDistribution.hh,v 3.15 2005/03/25 17:37:53 breholee Exp $
+// $Id: DataDistribution.hh,v 3.16 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/DeclarationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/DeclarationManagement.cc,v
retrieving revision 3.19
retrieving revision 3.20
diff -u -b -r3.19 -r3.20
--- RTIA/DeclarationManagement.cc       5 May 2008 14:28:55 -0000       3.19
+++ RTIA/DeclarationManagement.cc       10 Jun 2008 13:41:44 -0000      3.20
@@ -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.19 2008/05/05 14:28:55 erk Exp $
+// $Id: DeclarationManagement.cc,v 3.20 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -66,10 +66,11 @@
 // publishObjectClass
 void
 DeclarationManagement::publishObjectClass(ObjectClassHandle theClassHandle,
-                                          AttributeHandle *attribArray,
+                                          std::vector <AttributeHandle> 
&attribArray,
                                           UShort attribArraySize,
                                           TypeException &e)
 {
+    G.Out(pdGendoc,"enter DeclarationManagement::publishObjectClass") ;
     e = e_NO_EXCEPTION ;
 
     // Partie Locale
@@ -82,6 +83,7 @@
                                            true);
     }
     catch (Exception *e) {
+        G.Out(pdGendoc,"exit  DeclarationManagement::publishObjectClass on 
exception") ;
         D.Out(pdExcept, "Exception catched in PublishObjectClass.");
         throw e ;
     }
@@ -90,6 +92,7 @@
     NM_Publish_Object_Class req ;    
     req.objectClass     = theClassHandle ;
     req.handleArraySize = attribArraySize ;
+    req.handleArray.resize(attribArraySize) ;
     req.federation      = fm->_numero_federation ;
     req.federate        = fm->federate ;
 
@@ -103,6 +106,7 @@
     std::auto_ptr<NetworkMessage> 
rep(comm->waitMessage(NetworkMessage::PUBLISH_OBJECT_CLASS, req.federate));
 
     e = rep->exception ;
+    G.Out(pdGendoc,"exit  DeclarationManagement::publishObjectClass") ;
 } /* end of publishObjectClass */
 
 // ----------------------------------------------------------------------------
@@ -112,8 +116,10 @@
                                             TypeException &e)
 {
     // Variables leurres
-    AttributeHandle *attribArray = NULL ;
+    //AttributeHandle *attribArray = NULL ;
     UShort attribArraySize = 0 ;
+    std::vector <AttributeHandle> attribArrayVector ;
+    attribArrayVector.empty();
 
     e = e_NO_EXCEPTION ;
 
@@ -122,7 +128,7 @@
     try {
         rootObject->ObjectClasses->publish(fm->federate,
                                            theClassHandle,
-                                           attribArray,
+                                           attribArrayVector,
                                            attribArraySize,
                                            false);
     } catch (Exception *e) {
@@ -216,7 +222,7 @@
 void
 DeclarationManagement::
 subscribeObjectClassAttribute(ObjectClassHandle theClassHandle,
-                              AttributeHandle *attribArray,
+                              std::vector <AttributeHandle> &attribArray,
                               UShort attribArraySize,
                               TypeException &e)
 {
@@ -230,6 +236,7 @@
     req.federation      = fm->_numero_federation ;
     req.federate        = fm->federate ;
     req.objectClass     = theClassHandle ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i=0 ; i<attribArraySize ; i++)
@@ -452,4 +459,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: DeclarationManagement.cc,v 3.19 2008/05/05 14:28:55 erk Exp $
+// $Id: DeclarationManagement.cc,v 3.20 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/DeclarationManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/DeclarationManagement.hh,v
retrieving revision 3.7
retrieving revision 3.8
diff -u -b -r3.7 -r3.8
--- RTIA/DeclarationManagement.hh       18 May 2004 13:18:52 -0000      3.7
+++ RTIA/DeclarationManagement.hh       10 Jun 2008 13:41:44 -0000      3.8
@@ -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.hh,v 3.7 2004/05/18 13:18:52 breholee Exp $
+// $Id: DeclarationManagement.hh,v 3.8 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIA_DM
@@ -47,7 +47,7 @@
     ~DeclarationManagement();
 
     void publishObjectClass(ObjectClassHandle theClassHandle,
-                            AttributeHandle *attribArray,
+                            std::vector <AttributeHandle> &attribArray,
                             UShort attribArraySize,
                             TypeException &e);
 
@@ -61,7 +61,7 @@
                                    TypeException &e);
 
     void subscribeObjectClassAttribute(ObjectClassHandle theClassHandle,
-                                       AttributeHandle *attribArray,
+                                       std::vector <AttributeHandle> 
&attribArray,
                                        UShort attribArraySize,
                                        TypeException &e);
 
@@ -97,4 +97,4 @@
 
 #endif // _CERTI_RTIA_DM
 
-// $Id: DeclarationManagement.hh,v 3.7 2004/05/18 13:18:52 breholee Exp $
+// $Id: DeclarationManagement.hh,v 3.8 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/FederationManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/FederationManagement.cc,v
retrieving revision 3.65
retrieving revision 3.66
diff -u -b -r3.65 -r3.66
--- RTIA/FederationManagement.cc        9 Jun 2008 11:17:11 -0000       3.65
+++ RTIA/FederationManagement.cc        10 Jun 2008 13:41:44 -0000      3.66
@@ -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: FederationManagement.cc,v 3.65 2008/06/09 11:17:11 siron Exp $
+// $Id: FederationManagement.cc,v 3.66 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -526,7 +526,7 @@
 FederationManagement::registerSynchronization(std::string label,
                                               std::string tag,
                                               unsigned short array_size,
-                                              FederateHandle *fed_array,
+                                              std::vector <FederateHandle> 
&fed_array,
                                               TypeException &e)
 {
     D.Out(pdProtocol, "RegisterSynchronization.");
@@ -561,6 +561,7 @@
         /* the synchronization point concerns a set of federate */
         req.setExist();
         req.handleArraySize = array_size ;
+        req.handleArray.resize(array_size) ;
         for ( int j=0 ; j < array_size ; j++)
             req.handleArray[j] = fed_array[j] ;
 

Index: RTIA/FederationManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/FederationManagement.hh,v
retrieving revision 3.23
retrieving revision 3.24
diff -u -b -r3.23 -r3.24
--- RTIA/FederationManagement.hh        29 May 2008 12:20:33 -0000      3.23
+++ RTIA/FederationManagement.hh        10 Jun 2008 13:41:44 -0000      3.24
@@ -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: FederationManagement.hh,v 3.23 2008/05/29 12:20:33 rousse Exp $
+// $Id: FederationManagement.hh,v 3.24 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIA_FEDERATION_MANAGEMENT
@@ -65,7 +65,7 @@
     void registerSynchronization(std::string label,
                                  std::string tag,
                                  unsigned short array_size,
-                                 FederateHandle *fed_array,
+                                 std::vector <FederateHandle> &fed_array,
                                  TypeException &e);
     void unregisterSynchronization(std::string label,
                                    TypeException &e);
@@ -123,4 +123,4 @@
 
 #endif // _CERTI_RTIA_FEDERATION_MANAGEMENT
 
-// $Id: FederationManagement.hh,v 3.23 2008/05/29 12:20:33 rousse Exp $
+// $Id: FederationManagement.hh,v 3.24 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.46
retrieving revision 3.47
diff -u -b -r3.46 -r3.47
--- RTIA/ObjectManagement.cc    29 May 2008 12:20:33 -0000      3.46
+++ RTIA/ObjectManagement.cc    10 Jun 2008 13:41:44 -0000      3.47
@@ -21,6 +21,7 @@
 // ----------------------------------------------------------------------------
 
 #include <config.h>
+#include <assert.h>
 
 #include "InteractionSet.hh"
 #include "ObjectSet.hh"
@@ -105,7 +106,7 @@
 */
 EventRetractionHandle
 ObjectManagement::updateAttributeValues(ObjectHandle theObjectHandle,
-                                        AttributeHandle *attribArray,
+                                        std::vector<AttributeHandle> 
&attribArray,
                                         ValueLengthPair *valueArray,
                                         UShort attribArraySize,
                                         FederationTime theTime,
@@ -117,6 +118,7 @@
     bool validCall ;
     EventRetractionHandle evtrHandle;
 
+    G.Out(pdGendoc,"enter ObjectManagement::updateAttributeValues with time");
     validCall = tm->testValidTime(theTime) ;
     if (validCall) {
 
@@ -126,7 +128,7 @@
        req.object = theObjectHandle ;
        // set Date for UAV with time
        req.setDate(theTime);
-    
+        req.handleArray.resize(attribArraySize) ;   
        req.handleArraySize = attribArraySize ;
 
        for (i = 0 ; i < attribArraySize ; i++) {
@@ -153,6 +155,7 @@
     }
     
     // FIXME returned evtrHandle carry uninitialized value
+    G.Out(pdGendoc,"exit ObjectManagement::updateAttributeValues with time");
     return evtrHandle ;
 }
 
@@ -168,7 +171,7 @@
 */
 void
 ObjectManagement::updateAttributeValues(ObjectHandle theObjectHandle,
-                                        AttributeHandle *attribArray,
+                                        std::vector<AttributeHandle> 
&attribArray,
                                         ValueLengthPair *valueArray,
                                         UShort attribArraySize,
                                         std::string theTag,
@@ -182,7 +185,7 @@
     req.federate = fm->federate ;
     req.object = theObjectHandle ;
     // Do no set Date if without time
-
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (i = 0 ; i < attribArraySize ; i++) {
@@ -229,7 +232,7 @@
 //! reflectAttributeValues with time
 void
 ObjectManagement::reflectAttributeValues(ObjectHandle the_object,
-                                         AttributeHandle *the_attributes,
+                                         std::vector <AttributeHandle> 
&the_attributes,
                                          ValueLengthPair *the_values,
                                          UShort the_size,
                                          FederationTime the_time,
@@ -257,7 +260,7 @@
 //! reflectAttributeValues without time
 void
 ObjectManagement::reflectAttributeValues(ObjectHandle the_object,
-                                         AttributeHandle *the_attributes,
+                                         std::vector <AttributeHandle> 
&the_attributes,
                                          ValueLengthPair *the_values,
                                          UShort the_size,
                                          const char *the_tag,
@@ -281,7 +284,7 @@
 //! sendInteraction with time
 EventRetractionHandle
 ObjectManagement::sendInteraction(InteractionClassHandle theInteraction,
-                                  ParameterHandle *paramArray,
+                                  std::vector <ParameterHandle> &paramArray,
                                   ParameterLengthPair *valueArray,
                                   UShort paramArraySize,
                                   FederationTime theTime,
@@ -310,6 +313,7 @@
        req.region = region ;
        req.federation = fm->_numero_federation ;
        req.federate = fm->federate ;
+       req.handleArray.resize(paramArraySize) ;
        req.handleArraySize = paramArraySize ;
 
        for (int i=0 ; i<paramArraySize ; i++) {
@@ -337,7 +341,7 @@
 //! sendInteraction without time
 void
 ObjectManagement::sendInteraction(InteractionClassHandle theInteraction,
-                                  ParameterHandle *paramArray,
+                                  std::vector <ParameterHandle> &paramArray,
                                   ParameterLengthPair *valueArray,
                                   UShort paramArraySize,
                                   std::string theTag,
@@ -357,7 +361,7 @@
     req.region     = region ;
     req.federation = fm->_numero_federation ;
     req.federate   = fm->federate ;
-
+    req.handleArray.resize(paramArraySize) ;
     req.handleArraySize = paramArraySize ;
 
     for (int i=0 ; i<paramArraySize ; i++) {
@@ -379,7 +383,7 @@
 //! receiveInteraction with time
 void
 ObjectManagement::receiveInteraction(InteractionClassHandle the_interaction,
-                                     ParameterHandle *the_parameters,
+                                     std::vector <ParameterHandle> 
&the_parameters,
                                      ParameterLengthPair *the_values,
                                      UShort the_size,
                                      FederationTime the_time,
@@ -403,7 +407,7 @@
 //! receiveInteraction without time
 void
 ObjectManagement::receiveInteraction(InteractionClassHandle the_interaction,
-                                     ParameterHandle *the_parameters,
+                                     std::vector <ParameterHandle> 
&the_parameters,
                                      ParameterLengthPair *the_values,
                                      UShort the_size,
                                      const char *the_tag,
@@ -520,7 +524,7 @@
 //! changeAttributeTransportType
 EventRetractionHandle
 ObjectManagement::changeAttributeTransportType(ObjectHandle theObjectHandle,
-                                               AttributeHandle *attribArray,
+                                               std::vector <AttributeHandle> 
&attribArray,
                                                UShort attribArraySize,
                                                TransportType theType,
                                                TypeException &e)
@@ -532,6 +536,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.transport = theType ;
+    req.handleArray.resize(attribArraySize) ;
 
     for (i = 0 ; i < attribArraySize ; i++)
         req.handleArray[i] = attribArray[i] ;
@@ -551,7 +556,7 @@
 //! changeAttributeOrderType
 EventRetractionHandle
 ObjectManagement::changeAttributeOrderType(ObjectHandle theObjectHandle,
-                                           AttributeHandle *attribArray,
+                                           std::vector <AttributeHandle> 
&attribArray,
                                            UShort attribArraySize,
                                            OrderType theType,
                                            TypeException &e)
@@ -563,6 +568,8 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.order = theType ;
+    req.handleArraySize = attribArraySize ;
+    req.handleArray.resize(attribArraySize) ;
 
     for (i = 0 ; i < attribArraySize ; i++)
         req.handleArray[i] = attribArray[i] ;
@@ -625,7 +632,7 @@
 //! requestObjectAttributeValueUpdate
 void
 ObjectManagement::requestObjectAttributeValueUpdate(ObjectHandle handle,
-                                                    AttributeHandle *attribs,
+                                                    std::vector 
<AttributeHandle> &attribs,
                                                     UShort attribArraySize,
                                                     TypeException &e)
 {
@@ -636,6 +643,7 @@
     req.object = handle ;
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
+    req.handleArray.resize(attribArraySize) ;
 
     for (int i = 0 ; i < attribArraySize ; i++) {
         req.handleArray[i] = attribs[i] ;
@@ -657,7 +665,7 @@
 
 void
 ObjectManagement::provideAttributeValueUpdate(ObjectHandle the_object,
-                                              AttributeHandle *the_attributes,
+                                              std::vector <AttributeHandle> 
&the_attributes,
                                               UShort attribArraySize,
                                               TypeException &)
 {    
@@ -667,6 +675,7 @@
     req.type = Message::PROVIDE_ATTRIBUTE_VALUE_UPDATE ;
     req.setObject(the_object);
     req.handleArraySize = attribArraySize ;
+    req.handleArray.resize(req.handleArraySize) ;
     for (int i = 0 ; i < attribArraySize ; i++) {
         req.handleArray[i] = the_attributes[i] ;
     }

Index: RTIA/ObjectManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.hh,v
retrieving revision 3.21
retrieving revision 3.22
diff -u -b -r3.21 -r3.22
--- RTIA/ObjectManagement.hh    29 May 2008 12:20:33 -0000      3.21
+++ RTIA/ObjectManagement.hh    10 Jun 2008 13:41:44 -0000      3.22
@@ -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: ObjectManagement.hh,v 3.21 2008/05/29 12:20:33 rousse Exp $
+// $Id: ObjectManagement.hh,v 3.22 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIA_OM
@@ -53,7 +53,7 @@
 
     EventRetractionHandle
     updateAttributeValues(ObjectHandle theObjectHandle,
-                          AttributeHandle *attribArray,
+                          std::vector<AttributeHandle> &attribArray,
                           ValueLengthPair *valueArray,
                           UShort attribArraySize,
                           FederationTime theTime,
@@ -61,7 +61,7 @@
                           TypeException &e);
 
     void updateAttributeValues(ObjectHandle theObjectHandle,
-                          AttributeHandle *attribArray,
+                          std::vector<AttributeHandle> &attribArray,
                           ValueLengthPair *valueArray,
                           UShort attribArraySize,
                           std::string theTag,
@@ -75,7 +75,7 @@
                         TypeException &e);
 
     void reflectAttributeValues(ObjectHandle theObjectHandle,
-                                AttributeHandle *attribArray,
+                                std::vector <AttributeHandle> &attribArray,
                                 ValueLengthPair *valueArray,
                                 UShort attribArraySize,
                                 FederationTime theTime,
@@ -84,7 +84,7 @@
                                 TypeException &e);
 
    void reflectAttributeValues(ObjectHandle theObjectHandle,
-                                AttributeHandle *attribArray,
+                                std::vector <AttributeHandle> &attribArray,
                                 ValueLengthPair *valueArray,
                                 UShort attribArraySize,
                                 const char *theTag,
@@ -92,7 +92,7 @@
 
     EventRetractionHandle
     sendInteraction(InteractionClassHandle theInteraction,
-                    ParameterHandle *paramArray,
+                    std::vector <ParameterHandle> &paramArray,
                     ParameterLengthPair *valueArray,
                     UShort paramArraySize,
                     FederationTime theTime,
@@ -102,7 +102,7 @@
 
     void
     sendInteraction(InteractionClassHandle theInteraction,
-                    ParameterHandle *paramArray,
+                    std::vector <ParameterHandle> &paramArray,
                     ParameterLengthPair *valueArray,
                     UShort paramArraySize,
                     std::string theTag,
@@ -110,7 +110,7 @@
                     TypeException &e);
 
     void receiveInteraction(InteractionClassHandle theInteraction,
-                            ParameterHandle *paramArray,
+                            std::vector <ParameterHandle> &paramArray,
                             ParameterLengthPair *valueArray,
                             UShort paramArraySize,
                             FederationTime theTime,
@@ -119,7 +119,7 @@
                             TypeException &e);
 
     void receiveInteraction(InteractionClassHandle theInteraction,
-                            ParameterHandle *paramArray,
+                            std::vector <ParameterHandle> &paramArray,
                             ParameterLengthPair *valueArray,
                             UShort paramArraySize,
                             const char *theTag,
@@ -152,14 +152,14 @@
 
     EventRetractionHandle
     changeAttributeTransportType(ObjectHandle theObjectHandle,
-                                 AttributeHandle *attribArray,
+                                 std::vector <AttributeHandle> &attribArray,
                                  UShort attribArraySize,
                                  TransportType theType,
                                  TypeException &e);
 
     EventRetractionHandle
     changeAttributeOrderType(ObjectHandle theObjectHandle,
-                             AttributeHandle *attribArray,
+                             std::vector <AttributeHandle> &attribArray,
                              UShort attribArraySize,
                              OrderType theType,
                              TypeException &e);
@@ -176,12 +176,12 @@
 
     void
     requestObjectAttributeValueUpdate(ObjectHandle theObjectHandle,
-                                      AttributeHandle *attribArray,
+                                      std::vector <AttributeHandle> 
&attribArray,
                                       UShort attribArraySize,
                                       TypeException &e);
 
     void provideAttributeValueUpdate(ObjectHandle theObject,
-                                      AttributeHandle *theAttributes,
+                                      std::vector <AttributeHandle> 
&theAttributes,
                                       UShort attribArraySize,
                                      TypeException &e);
 
@@ -229,4 +229,4 @@
 
 #endif // _CERTI_RTIA_OM
 
-// $Id: ObjectManagement.hh,v 3.21 2008/05/29 12:20:33 rousse Exp $
+// $Id: ObjectManagement.hh,v 3.22 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/OwnershipManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/OwnershipManagement.cc,v
retrieving revision 3.14
retrieving revision 3.15
diff -u -b -r3.14 -r3.15
--- RTIA/OwnershipManagement.cc 29 May 2008 12:20:33 -0000      3.14
+++ RTIA/OwnershipManagement.cc 10 Jun 2008 13:41:44 -0000      3.15
@@ -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: OwnershipManagement.cc,v 3.14 2008/05/29 12:20:33 rousse Exp $
+// $Id: OwnershipManagement.cc,v 3.15 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -73,6 +73,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(1) ;
     req.handleArray[0] = theAttribute ;
     req.handleArraySize = 1 ;
 
@@ -109,6 +110,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(1) ;
     req.handleArray[0] = theAttribute ;
     req.handleArraySize = 1 ;
 
@@ -127,7 +129,7 @@
 void
 OwnershipManagement::
 negotiatedAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                        AttributeHandle *attribArray,
+                                        std::vector <AttributeHandle> 
&attribArray,
                                         UShort attribArraySize,
                                         std::string theTag,
                                         TypeException &e)
@@ -138,6 +140,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -160,7 +163,7 @@
 void
 OwnershipManagement::
 cancelnegotiatedAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                              AttributeHandle *attribArray,
+                                              std::vector <AttributeHandle> 
&attribArray,
                                               UShort attribArraySize,
                                               TypeException &e)
 {
@@ -169,6 +172,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -191,7 +195,7 @@
 void
 OwnershipManagement::
 attributeOwnershipAcquisitionIfAvailable(ObjectHandle theObject,
-                                         AttributeHandle *attribArray,
+                                         std::vector <AttributeHandle> 
&attribArray,
                                          UShort attribArraySize,
                                          TypeException &e)
 {
@@ -200,6 +204,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -220,7 +225,7 @@
 void
 OwnershipManagement::
 unconditionalAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                           AttributeHandle *attribArray,
+                                           std::vector <AttributeHandle> 
&attribArray,
                                            UShort attribArraySize,
                                            TypeException &e)
 {
@@ -229,6 +234,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -250,7 +256,7 @@
 void
 OwnershipManagement::
 attributeOwnershipAcquisition(ObjectHandle theObject,
-                              AttributeHandle *attribArray,
+                              std::vector <AttributeHandle> &attribArray,
                               UShort attribArraySize,
                               std::string theTag,
                               TypeException &e)
@@ -260,6 +266,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -282,7 +289,7 @@
 AttributeHandleSet*
 OwnershipManagement::
 attributeOwnershipRealeaseResponse(ObjectHandle theObject,
-                                   AttributeHandle *attribArray,
+                                   std::vector <AttributeHandle> &attribArray,
                                    UShort attribArraySize,
                                    TypeException &e)
 {
@@ -291,6 +298,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     D.Out(pdDebug, "RELEASE_RESPONSE Object %u handleArraySize %u",
@@ -327,7 +335,7 @@
 void
 OwnershipManagement::
 cancelattributeOwnershipAcquisition(ObjectHandle theObject,
-                                    AttributeHandle *attribArray,
+                                    std::vector <AttributeHandle> &attribArray,
                                     UShort attribArraySize,
                                     TypeException &e)
 {
@@ -336,6 +344,7 @@
     req.federation = fm->_numero_federation ;
     req.federate = fm->federate ;
     req.object = theObject ;
+    req.handleArray.resize(attribArraySize) ;
     req.handleArraySize = attribArraySize ;
 
     for (int i = 0 ; i < attribArraySize ; i++)
@@ -392,7 +401,7 @@
 void
 OwnershipManagement::
 attributeOwnershipUnavailable(ObjectHandle the_object,
-                              AttributeHandle *the_attributes,
+                              std::vector <AttributeHandle> &the_attributes,
                               UShort the_size,
                               FederateHandle,
                               TypeException &)
@@ -411,7 +420,7 @@
 void
 OwnershipManagement::
 attributeOwnershipAcquisitionNotification(ObjectHandle the_object,
-                                          AttributeHandle *the_attributes,
+                                          std::vector <AttributeHandle> 
&the_attributes,
                                           UShort the_size,
                                           FederateHandle,
                                           TypeException &)
@@ -430,7 +439,7 @@
 void
 OwnershipManagement::
 requestAttributeOwnershipAssumption(ObjectHandle the_object,
-                                    AttributeHandle *the_attributes,
+                                    std::vector <AttributeHandle> 
&the_attributes,
                                     UShort the_size,
                                     FederateHandle,
                                     std::string the_tag,
@@ -451,7 +460,7 @@
 void
 OwnershipManagement::
 requestAttributeOwnershipRelease(ObjectHandle the_object,
-                                 AttributeHandle *the_attributes,
+                                 std::vector <AttributeHandle> &the_attributes,
                                  UShort the_size,
                                  std::string the_tag,
                                  TypeException &)
@@ -471,7 +480,7 @@
 void
 OwnershipManagement::
 attributeOwnershipDivestitureNotification(ObjectHandle the_object,
-                                          AttributeHandle *the_attributes,
+                                          std::vector <AttributeHandle> 
&the_attributes,
                                           UShort the_size,
                                           TypeException &)
 {
@@ -489,7 +498,7 @@
 void
 OwnershipManagement::
 confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle the_object,
-                                                 AttributeHandle 
*the_attributes,
+                                                 std::vector <AttributeHandle> 
&the_attributes,
                                                  UShort the_size,
                                                  TypeException &)
 {
@@ -504,4 +513,4 @@
 
 }} // namespace certi/rtia
 
-// $Id: OwnershipManagement.cc,v 3.14 2008/05/29 12:20:33 rousse Exp $
+// $Id: OwnershipManagement.cc,v 3.15 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/OwnershipManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/OwnershipManagement.hh,v
retrieving revision 3.7
retrieving revision 3.8
diff -u -b -r3.7 -r3.8
--- RTIA/OwnershipManagement.hh 29 May 2008 12:20:33 -0000      3.7
+++ RTIA/OwnershipManagement.hh 10 Jun 2008 13:41:44 -0000      3.8
@@ -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: OwnershipManagement.hh,v 3.7 2008/05/29 12:20:33 rousse Exp $
+// $Id: OwnershipManagement.hh,v 3.8 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIA_OWM
@@ -72,44 +72,44 @@
 
     void
     negotiatedAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                            AttributeHandle *attribArray,
+                                            std::vector <AttributeHandle> 
&attribArray,
                                             UShort attribArraySize,
                                             std::string theTag,
                                             TypeException &e);
     void
     cancelnegotiatedAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                                  AttributeHandle *,
+                                                  std::vector 
<AttributeHandle> &,
                                                   UShort attribArraySize,
                                                   TypeException &e);
 
     void
     attributeOwnershipAcquisitionIfAvailable(ObjectHandle theObject,
-                                             AttributeHandle *attribArray,
+                                             std::vector <AttributeHandle> 
&attribArray,
                                              UShort attribArraySize,
                                              TypeException &e);
 
     void
     cancelattributeOwnershipAcquisition(ObjectHandle theObject,
-                                        AttributeHandle *attribArray,
+                                        std::vector <AttributeHandle> 
&attribArray,
                                         UShort attribArraySize,
                                         TypeException &e);
 
     void
     attributeOwnershipAcquisitionNotification(ObjectHandle theObject,
-                                              AttributeHandle *attribArray,
+                                              std::vector <AttributeHandle> 
&attribArray,
                                               UShort attribArraySize,
                                               FederateHandle theOwner,
                                               TypeException &e);
     void
     attributeOwnershipUnavailable(ObjectHandle theObject,
-                                  AttributeHandle *attribArray,
+                                  std::vector <AttributeHandle> &attribArray,
                                   UShort attribArraySize,
                                   FederateHandle theOwner,
                                   TypeException &e);
 
     void
     requestAttributeOwnershipAssumption(ObjectHandle theObject,
-                                        AttributeHandle *attribArray,
+                                        std::vector <AttributeHandle> 
&attribArray,
                                         UShort attribArraySize,
                                         FederateHandle theOwner,
                                         std::string theTag,
@@ -117,38 +117,38 @@
 
     void
     unconditionalAttributeOwnershipDivestiture(ObjectHandle theObject,
-                                               AttributeHandle *attribArray,
+                                               std::vector <AttributeHandle> 
&attribArray,
                                                UShort attribArraySize,
                                                TypeException &e);
 
     void
     attributeOwnershipAcquisition(ObjectHandle theObject,
-                                  AttributeHandle *attribArray,
+                                  std::vector <AttributeHandle> &attribArray,
                                   UShort attribArraySize,
                                   std::string theTag,
                                   TypeException &e);
 
     void
     requestAttributeOwnershipRelease(ObjectHandle theObject,
-                                     AttributeHandle *attribArray,
+                                     std::vector <AttributeHandle> 
&attribArray,
                                      UShort attribArraySize,
                                      std::string theTag,
                                      TypeException &e);
 
     void
     attributeOwnershipDivestitureNotification(ObjectHandle theObject,
-                                              AttributeHandle *attribArray,
+                                              std::vector <AttributeHandle> 
&attribArray,
                                               UShort attribArraySize,
                                               TypeException &e);
     AttributeHandleSet*
     attributeOwnershipRealeaseResponse(ObjectHandle theObject,
-                                       AttributeHandle *attribArray,
+                                       std::vector <AttributeHandle> 
&attribArray,
                                        UShort attribArraySize,
                                        TypeException &e);
 
     void
     confirmAttributeOwnershipAcquisitionCancellation(ObjectHandle theObject,
-                                                     AttributeHandle *,
+                                                     std::vector 
<AttributeHandle> &,
                                                      UShort attribArraySize,
                                                      TypeException &e);
 
@@ -162,4 +162,4 @@
 
 #endif // _CERTI_RTIA_OWM
 
-// $Id: OwnershipManagement.hh,v 3.7 2008/05/29 12:20:33 rousse Exp $
+// $Id: OwnershipManagement.hh,v 3.8 2008/06/10 13:41:44 rousse Exp $

Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.81
retrieving revision 3.82
diff -u -b -r3.81 -r3.82
--- RTIA/RTIA_federate.cc       3 Jun 2008 08:45:49 -0000       3.81
+++ RTIA/RTIA_federate.cc       10 Jun 2008 13:41:44 -0000      3.82
@@ -560,6 +560,7 @@
         break ;
 
       case Message::RETRACT:
+        std::cout<<"retract not yet implemented in 
chooseFederateProcessing"<<std::endl;
         e = e_UnimplementedService ;
         break ;
 

Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.40
retrieving revision 3.41
diff -u -b -r3.40 -r3.41
--- RTIA/TimeManagement.cc      3 Jun 2008 08:45:49 -0000       3.40
+++ RTIA/TimeManagement.cc      10 Jun 2008 13:41:44 -0000      3.41
@@ -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: TimeManagement.cc,v 3.40 2008/06/03 08:45:49 rousse Exp $
+// $Id: TimeManagement.cc,v 3.41 2008/06/10 13:41:44 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -268,6 +268,7 @@
         break ;
 
       case NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION:
+          {
         owm->requestAttributeOwnershipAssumption(msg.object,
                                                  msg.handleArray,
                                                  msg.handleArraySize,
@@ -275,44 +276,55 @@
                                                  
const_cast<char*>(msg.getLabel().c_str()),
                                                  msg.exception);
         break ;
+           }
 
       case NetworkMessage::ATTRIBUTE_OWNERSHIP_UNAVAILABLE:
+        {
         owm->attributeOwnershipUnavailable(msg.object,
                                            msg.handleArray,
                                            msg.handleArraySize,
                                            msg.federate,
                                            msg.exception);
         break ;
+        }
 
       case NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION:
+        {
         owm->attributeOwnershipAcquisitionNotification(msg.object,
                                                        msg.handleArray,
                                                        msg.handleArraySize,
                                                        msg.federate,
                                                        msg.exception);
         break ;
+        }
 
       case NetworkMessage::ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION:
+        {
         owm->attributeOwnershipDivestitureNotification(msg.object,
                                                        msg.handleArray,
                                                        msg.handleArraySize,
                                                        msg.exception);
         break ;
+        }
 
       case NetworkMessage::REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE:
+        {
         owm->requestAttributeOwnershipRelease(msg.object,
                                               msg.handleArray,
                                               msg.handleArraySize,
                                               
const_cast<char*>(msg.getLabel().c_str()),
                                               msg.exception);
         break ;
+        }
 
       case 
NetworkMessage::CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION:
+        {
         owm->confirmAttributeOwnershipAcquisitionCancellation(msg.object,
                                                               msg.handleArray,
                                                               
msg.handleArraySize,
                                                               msg.exception);
         break ;
+        }
 
       case NetworkMessage::INITIATE_FEDERATE_SAVE:
         fm->initiateFederateSave(msg.getLabel().c_str());
@@ -964,4 +976,4 @@
 
 }} // namespaces
 
-// $Id: TimeManagement.cc,v 3.40 2008/06/03 08:45:49 rousse Exp $
+// $Id: TimeManagement.cc,v 3.41 2008/06/10 13:41:44 rousse Exp $

Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.88
retrieving revision 3.89
diff -u -b -r3.88 -r3.89
--- RTIG/Federation.cc  30 May 2008 14:01:06 -0000      3.88
+++ RTIG/Federation.cc  10 Jun 2008 13:41:45 -0000      3.89
@@ -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.88 2008/05/30 14:01:06 erk Exp $
+// $Id: Federation.cc,v 3.89 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -567,13 +567,13 @@
 void
 Federation::broadcastSomeMessage(NetworkMessage *msg,
                                 FederateHandle except_federate,
-                                FederateHandle *fede_array,
+                                std::vector <FederateHandle> &fede_array,
                                 int nbfed)
 {
     int ifed ;
     Socket *socket = NULL ;
 
-    if ( fede_array != NULL || nbfed == 0)
+    if ( fede_array.size() != 0 || nbfed == 0)
         {
         // Broadcast the message 'msg' to some Federates (done in fede_array)
         // in the Federation
@@ -621,7 +621,7 @@
 void
 Federation::broadcastInteraction(FederateHandle federate_handle,
                                  InteractionClassHandle interaction,
-                                 ParameterHandle *parameter_handles,
+                                 std::vector <ParameterHandle> 
&parameter_handles,
                                  ParameterLengthPair *parameter_values,
                                  UShort list_size,
                                  FederationTime time,
@@ -670,7 +670,7 @@
 void
 Federation::broadcastInteraction(FederateHandle federate_handle,
                                  InteractionClassHandle interaction,
-                                 ParameterHandle *parameter_handles,
+                                 std::vector <ParameterHandle> 
&parameter_handles,
                                  ParameterLengthPair *parameter_values,
                                  UShort list_size,
                                 RegionHandle region_handle,
@@ -822,7 +822,7 @@
                                     const char *label,
                                     const char *tag,
                                     unsigned short federate_setSize,
-                                    FederateHandle *federate_set)
+                                    std::vector <FederateHandle> &federate_set)
     throw (FederateNotExecutionMember,
            FederationAlreadyPaused,
            SaveInProgress,
@@ -911,7 +911,7 @@
                                      const char *label,
                                      const char *tag,
                                      unsigned short federate_setSize,
-                                     FederateHandle *federate_set)
+                                     std::vector <FederateHandle> 
&federate_set)
     throw (RTIinternalError)
 {
 
@@ -1343,7 +1343,7 @@
 void
 Federation::publishObject(FederateHandle federate,
                           ObjectClassHandle object,
-                          AttributeHandle *attributes,
+                          std::vector <AttributeHandle> &attributes,
                           UShort list_size,
                           bool pub)
     throw (ObjectClassNotDefined,
@@ -1567,7 +1567,7 @@
 void
 Federation::subscribeObject(FederateHandle federate,
                             ObjectClassHandle object,
-                            AttributeHandle *attributes,
+                            std::vector <AttributeHandle> &attributes,
                             UShort list_size)
     throw (ObjectClassNotDefined,
            AttributeNotDefined,
@@ -1595,7 +1595,7 @@
 void
 Federation::updateAttributeValues(FederateHandle federate,
                                   ObjectHandle id,
-                                  AttributeHandle *attributes,
+                                  std::vector <AttributeHandle> &attributes,
                                   ValueLengthPair *values,
                                   UShort list_size,
                                   FederationTime time,
@@ -1628,7 +1628,7 @@
 void
 Federation::updateAttributeValues(FederateHandle federate,
                                   ObjectHandle id,
-                                  AttributeHandle *attributes,
+                                  std::vector <AttributeHandle> &attributes,
                                   ValueLengthPair *values,
                                   UShort list_size,
                                   const char *tag)
@@ -1733,7 +1733,7 @@
 void
 Federation::negotiateDivestiture(FederateHandle federate,
                                  ObjectHandle id,
-                                 AttributeHandle *attribs,
+                                 std::vector <AttributeHandle> &attribs,
                                  UShort list_size,
                                  const char *tag)
     throw (FederateNotExecutionMember,
@@ -1762,7 +1762,7 @@
 void
 Federation::acquireIfAvailable(FederateHandle federate,
                                ObjectHandle id,
-                               AttributeHandle *attribs,
+                               std::vector <AttributeHandle> &attribs,
                                UShort list_size)
     throw (ObjectNotKnown,
            ObjectClassNotPublished,
@@ -1791,7 +1791,7 @@
 void
 Federation::divest(FederateHandle federate,
                    ObjectHandle id,
-                   AttributeHandle *attrs,
+                   std::vector <AttributeHandle> &attrs,
                    UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1817,7 +1817,7 @@
 void
 Federation::acquire(FederateHandle federate,
                     ObjectHandle id,
-                    AttributeHandle *attributes,
+                    std::vector <AttributeHandle> &attributes,
                     UShort list_size,
                     const char *tag)
     throw (ObjectNotKnown,
@@ -1849,7 +1849,7 @@
 void
 Federation::cancelDivestiture(FederateHandle federate,
                               ObjectHandle id,
-                              AttributeHandle *attributes,
+                              std::vector <AttributeHandle> &attributes,
                               UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1878,7 +1878,7 @@
 AttributeHandleSet*
 Federation::respondRelease(FederateHandle federate,
                            ObjectHandle id,
-                           AttributeHandle *attributes,
+                           std::vector <AttributeHandle> &attributes,
                            UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1907,7 +1907,7 @@
 void
 Federation::cancelAcquisition(FederateHandle federate,
                               ObjectHandle id,
-                              AttributeHandle *attributes,
+                              std::vector <AttributeHandle> &attributes,
                               UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1983,7 +1983,7 @@
                            ObjectHandle object,
                            RegionHandle the_handle,
                            unsigned short nb,
-                           AttributeHandle *attributes)
+                           std::vector <AttributeHandle> &attributes)
     throw (RegionNotKnown, SaveInProgress, RestoreInProgress, RTIinternalError)
 {
     check(federate);
@@ -2018,7 +2018,7 @@
                                  ObjectClassHandle c,
                                  RegionHandle region_handle,
                                  unsigned short nb,
-                                 AttributeHandle *attributes)
+                                 std::vector <AttributeHandle> &attributes)
     throw (RegionNotKnown,
           SaveInProgress,
           RestoreInProgress,
@@ -2088,7 +2088,7 @@
                                     const char *object_name,
                                     RegionHandle region_handle,
                                     int nb,
-                                    AttributeHandle *attributes)
+                                    std::vector <AttributeHandle> &attributes)
     throw (ObjectClassNotDefined, ObjectClassNotPublished,
           AttributeNotDefined, AttributeNotPublished, RegionNotKnown,
           InvalidRegionContext, ObjectAlreadyRegistered,
@@ -2245,7 +2245,7 @@
 FederateHandle
 Federation::requestObjectOwner(FederateHandle theFederateHandle,
                              ObjectHandle theObject,
-                             AttributeHandle *theAttributeList,
+                             std::vector <AttributeHandle> &theAttributeList,
                              UShort theListSize)
         throw (ObjectNotKnown)
 {
@@ -2261,6 +2261,7 @@
     mess.federate = theFederateHandle ;
     mess.object = theObject ;
     mess.handleArraySize = theListSize ;
+    mess.handleArray.resize(theListSize) ;
     for (int i = 0 ; i < theListSize ; i++)
         {
         mess.handleArray[i] = theAttributeList[i] ;
@@ -2277,5 +2278,5 @@
 
 }} // namespace certi/rtig
 
-// $Id: Federation.cc,v 3.88 2008/05/30 14:01:06 erk Exp $
+// $Id: Federation.cc,v 3.89 2008/06/10 13:41:45 rousse Exp $
 

Index: RTIG/Federation.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.hh,v
retrieving revision 3.47
retrieving revision 3.48
diff -u -b -r3.47 -r3.48
--- RTIG/Federation.hh  30 May 2008 14:01:05 -0000      3.47
+++ RTIG/Federation.hh  10 Jun 2008 13:41:45 -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: Federation.hh,v 3.47 2008/05/30 14:01:05 erk Exp $
+// $Id: Federation.hh,v 3.48 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIG_FEDERATION_HH
@@ -167,7 +167,7 @@
                                  const char *the_label,
                                  const char *the_tag,
                                  unsigned short federate_setSize,
-                                 FederateHandle *federate_set)
+                                 std::vector <FederateHandle> &federate_set)
         throw (FederateNotExecutionMember,
                FederationAlreadyPaused,
                SaveInProgress,
@@ -191,7 +191,7 @@
                                   const char *label,
                                   const char *tag,
                                   unsigned short federate_setSize,
-                                  FederateHandle *federate_set)
+                                  std::vector <FederateHandle> &federate_set)
         throw (RTIinternalError);
 
 
@@ -244,7 +244,7 @@
 
     void publishObject(FederateHandle theFederateHandle,
                        ObjectClassHandle theObjectHandle,
-                       AttributeHandle *theAttributeList,
+                       std::vector <AttributeHandle> &theAttributeList,
                        UShort theListSize,
                        bool PubOrUnpub)
         throw (ObjectClassNotDefined,
@@ -269,13 +269,13 @@
 
     FederateHandle requestObjectOwner(FederateHandle theFederateHandle,
                                 ObjectHandle theObject,
-                                AttributeHandle *theAttributeList,
+                                std::vector <AttributeHandle> 
&theAttributeList,
                                 UShort theListSize)
         throw (ObjectNotKnown);
 
     void subscribeObject(FederateHandle theFederateHandle,
                          ObjectClassHandle theObjectHandle,
-                         AttributeHandle *theAttributeList,
+                         std::vector <AttributeHandle> &theAttributeList,
                          UShort theListSize)
         throw (ObjectClassNotDefined,
                AttributeNotDefined,
@@ -287,7 +287,7 @@
 
     void updateAttributeValues(FederateHandle theFederateHandle,
                                ObjectHandle theObjectHandle,
-                               AttributeHandle *theAttributeList,
+                               std::vector <AttributeHandle> &theAttributeList,
                                ValueLengthPair *theValueList,
                                UShort theListSize,
                                FederationTime theTime,
@@ -302,7 +302,7 @@
 
     void updateAttributeValues(FederateHandle theFederateHandle,
                                ObjectHandle theObjectHandle,
-                               AttributeHandle *theAttributeList,
+                               std::vector <AttributeHandle> &theAttributeList,
                                ValueLengthPair *theValueList,
                                UShort theListSize,
                                const char *theTag)
@@ -320,7 +320,7 @@
 
     void broadcastInteraction(FederateHandle theFederateHandle,
                               InteractionClassHandle theInteractionHandle,
-                              ParameterHandle *theParameterList,
+                              std::vector <ParameterHandle> &theParameterList,
                               ParameterLengthPair *theValueList,
                               UShort theListSize,
                               FederationTime theTime,
@@ -336,7 +336,7 @@
 
    void broadcastInteraction(FederateHandle theFederateHandle,
                               InteractionClassHandle theInteractionHandle,
-                              ParameterHandle *theParameterList,
+                              std::vector <ParameterHandle> &theParameterList,
                               ParameterLengthPair *theValueList,
                               UShort theListSize,
                              RegionHandle,
@@ -396,7 +396,7 @@
 
     void negotiateDivestiture(FederateHandle theFederateHandle,
                               ObjectHandle theObjectHandle,
-                              AttributeHandle *theAttributeList,
+                              std::vector <AttributeHandle> &theAttributeList,
                               UShort theListSize,
                               const char *theTag)
         throw (FederateNotExecutionMember,
@@ -410,7 +410,7 @@
 
     void acquireIfAvailable(FederateHandle theFederateHandle,
                             ObjectHandle theObjectHandle,
-                            AttributeHandle *theAttributeList,
+                            std::vector <AttributeHandle> &theAttributeList,
                             UShort theListSize)
         throw (ObjectNotKnown,
                ObjectClassNotPublished,
@@ -425,7 +425,7 @@
 
     void divest(FederateHandle theFederateHandle,
                 ObjectHandle theObjectHandle,
-                AttributeHandle *theAttributeList,
+                std::vector <AttributeHandle> &theAttributeList,
                 UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -437,7 +437,7 @@
 
     void acquire(FederateHandle theFederateHandle,
                  ObjectHandle theObjectHandle,
-                 AttributeHandle *theAttributeList,
+                 std::vector <AttributeHandle> &theAttributeList,
                  UShort theListSize,
                  const char *theTag)
         throw (ObjectNotKnown,
@@ -452,7 +452,7 @@
 
     void cancelDivestiture(FederateHandle theFederateHandle,
                            ObjectHandle theObjectHandle,
-                           AttributeHandle *theAttributeList,
+                           std::vector <AttributeHandle> &theAttributeList,
                            UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -465,7 +465,7 @@
 
     AttributeHandleSet* respondRelease(FederateHandle theFederateHandle,
                                        ObjectHandle theObjectHandle,
-                                       AttributeHandle *theAttributeList,
+                                       std::vector <AttributeHandle> 
&theAttributeList,
                                        UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -478,7 +478,7 @@
 
     void cancelAcquisition(FederateHandle theFederateHandle,
                            ObjectHandle theObjectHandle,
-                           AttributeHandle *theAttributeList,
+                           std::vector <AttributeHandle> &theAttributeList,
                            UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -513,7 +513,7 @@
                RTIinternalError);
 
     void associateRegion(FederateHandle, ObjectHandle, RegionHandle,
-                        unsigned short, AttributeHandle *)
+                        unsigned short, std::vector <AttributeHandle> &)
        throw (RegionNotKnown,
               SaveInProgress,
               RestoreInProgress,
@@ -526,7 +526,7 @@
               RTIinternalError);
 
     void subscribeAttributesWR(FederateHandle, ObjectClassHandle, RegionHandle,
-                               unsigned short, AttributeHandle *)
+                               unsigned short, std::vector <AttributeHandle> &)
        throw (RegionNotKnown,
               SaveInProgress,
               RestoreInProgress,
@@ -555,7 +555,7 @@
 
     ObjectHandle registerObjectWithRegion(FederateHandle,ObjectClassHandle,
                                          const char *, RegionHandle, int,
-                                         AttributeHandle *)
+                                         std::vector <AttributeHandle> &)
        throw (ObjectClassNotDefined, ObjectClassNotPublished,
               AttributeNotDefined, AttributeNotPublished, RegionNotKnown,
               InvalidRegionContext, ObjectAlreadyRegistered,
@@ -566,7 +566,8 @@
     // Private methods
     void broadcastAnyMessage(NetworkMessage *msg, FederateHandle Except);
 
-    void broadcastSomeMessage(NetworkMessage *msg, FederateHandle 
Except,FederateHandle *fede_array, int nbfed);
+    void broadcastSomeMessage(NetworkMessage *msg, FederateHandle Except,
+                       std::vector <FederateHandle> &fede_array, int nbfed);
 
     Federate &getFederate(const char *theName)
         throw (FederateNotExecutionMember);
@@ -596,4 +597,4 @@
 
 #endif // _CERTI_RTIG_FEDERATION_HH
 
-// $Id: Federation.hh,v 3.47 2008/05/30 14:01:05 erk Exp $
+// $Id: Federation.hh,v 3.48 2008/06/10 13:41:45 rousse Exp $

Index: RTIG/FederationsList.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.cc,v
retrieving revision 3.56
retrieving revision 3.57
diff -u -b -r3.56 -r3.57
--- RTIG/FederationsList.cc     29 Apr 2008 08:33:04 -0000      3.56
+++ RTIG/FederationsList.cc     10 Jun 2008 13:41:45 -0000      3.57
@@ -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.56 2008/04/29 08:33:04 erk Exp $
+// $Id: FederationsList.cc,v 3.57 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -437,7 +437,7 @@
 FederationsList::updateAttribute(Handle handle,
                                  FederateHandle federate,
                                  ObjectHandle id,
-                                 AttributeHandle *attributes,
+                                 std::vector <AttributeHandle> &attributes,
                                  ValueLengthPair *values,
                                  UShort list_size,
                                  FederationTime time,
@@ -470,7 +470,7 @@
 FederationsList::updateAttribute(Handle handle,
                                  FederateHandle federate,
                                  ObjectHandle id,
-                                 AttributeHandle *attributes,
+                                 std::vector <AttributeHandle> &attributes,
                                  ValueLengthPair *values,
                                  UShort list_size,
                                  const char *tag)
@@ -501,7 +501,7 @@
 FederationsList::updateParameter(Handle handle,
                                  FederateHandle federate,
                                  InteractionClassHandle interaction,
-                                 ParameterHandle *parameters,
+                                 std::vector <ParameterHandle> &parameters,
                                  ParameterLengthPair *values,
                                  UShort list_size,
                                  FederationTime time,
@@ -540,7 +540,7 @@
 FederationsList::updateParameter(Handle handle,
                                  FederateHandle federate,
                                  InteractionClassHandle interaction,
-                                 ParameterHandle *parameters,
+                                 std::vector <ParameterHandle> &parameters,
                                  ParameterLengthPair *values,
                                  UShort list_size,
                                 RegionHandle region,
@@ -614,7 +614,7 @@
                                        const char *label,
                                        const char *tag,
                                        unsigned short federate_setSize,
-                                       FederateHandle *federate_set)
+                                       std::vector <FederateHandle> 
&federate_set)
     throw (FederationAlreadyPaused,
            FederationNotPaused,
            FederateNotExecutionMember,
@@ -677,7 +677,7 @@
                                           const char *label,
                                           const char *tag,
                                           unsigned short federate_setSize,
-                                          FederateHandle *federate_set)
+                                          std::vector <FederateHandle> 
&federate_set)
     throw (FederationExecutionDoesNotExist,
            RTIinternalError)
 {
@@ -730,7 +730,7 @@
 FederationsList::publishObject(Handle handle,
                                FederateHandle federate,
                                ObjectClassHandle object_class,
-                               AttributeHandle *attributes,
+                               std::vector <AttributeHandle> &attributes,
                                UShort list_size,
                                bool pub)
     throw (ObjectClassNotDefined,
@@ -789,7 +789,7 @@
 FederationsList::subscribeObject(Handle handle,
                                  FederateHandle federate,
                                  ObjectClassHandle object_class,
-                                 AttributeHandle *attributes,
+                                 std::vector <AttributeHandle> &attributes,
                                  UShort list_size)
     throw (ObjectClassNotDefined,
            AttributeNotDefined,
@@ -1003,7 +1003,7 @@
 FederationsList::negotiateDivestiture(Handle handle,
                                       FederateHandle federate,
                                       ObjectHandle id,
-                                      AttributeHandle *attributes,
+                                      std::vector <AttributeHandle> 
&attributes,
                                       UShort list_size,
                                       const char *tag)
     throw (FederateNotExecutionMember,
@@ -1035,7 +1035,7 @@
 FederationsList::acquireIfAvailable(Handle handle,
                                     FederateHandle federate,
                                     ObjectHandle id,
-                                    AttributeHandle *attributes,
+                                    std::vector <AttributeHandle> &attributes,
                                     UShort list_size)
     throw (ObjectNotKnown,
            ObjectClassNotPublished,
@@ -1066,7 +1066,7 @@
 FederationsList::divest(Handle handle,
                         FederateHandle federate,
                         ObjectHandle id,
-                        AttributeHandle *attributes,
+                        std::vector <AttributeHandle> &attributes,
                         UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1094,7 +1094,7 @@
 FederationsList::acquire(Handle handle,
                          FederateHandle federate,
                          ObjectHandle id,
-                         AttributeHandle *attributes,
+                         std::vector <AttributeHandle> &attributes,
                          UShort list_size,
                          const char *tag)
     throw (ObjectNotKnown,
@@ -1127,7 +1127,7 @@
 FederationsList::cancelDivestiture(Handle handle,
                                    FederateHandle federate,
                                    ObjectHandle id,
-                                   AttributeHandle *attributes,
+                                   std::vector <AttributeHandle> &attributes,
                                    UShort list_size)
     throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
            AttributeDivestitureWasNotRequested, FederateNotExecutionMember,
@@ -1154,7 +1154,7 @@
 FederationsList::respondRelease(Handle handle,
                                 FederateHandle federate,
                                 ObjectHandle id,
-                                AttributeHandle *attributes,
+                                std::vector <AttributeHandle> &attributes,
                                 UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1185,7 +1185,7 @@
 FederationsList::cancelAcquisition(Handle handle,
                                    FederateHandle federate,
                                    ObjectHandle id,
-                                   AttributeHandle *attributes,
+                                   std::vector <AttributeHandle> &attributes,
                                    UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1275,7 +1275,7 @@
                                 ObjectHandle object,
                                 RegionHandle region,
                                 unsigned short nb_attributes,
-                                AttributeHandle *attributes)
+                                std::vector <AttributeHandle> &attributes)
        throw (RegionInUse, FederateNotExecutionMember, SaveInProgress,
               RestoreInProgress, RTIinternalError)
 {
@@ -1319,7 +1319,7 @@
                                       ObjectClassHandle object_class,
                                       RegionHandle region,
                                       unsigned short nb,
-                                      AttributeHandle *attributes)
+                                      std::vector <AttributeHandle> 
&attributes)
     throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress,
           RTIinternalError)
 {
@@ -1402,7 +1402,7 @@
                                                       ObjectName tag,
                                                       RegionHandle region,
                                                       int nb,
-                                                      AttributeHandle *attrs)
+                                                      std::vector 
<AttributeHandle> &attrs)
        throw (ObjectClassNotDefined, ObjectClassNotPublished,
               AttributeNotDefined, AttributeNotPublished, RegionNotKnown,
               InvalidRegionContext, ObjectAlreadyRegistered,
@@ -1535,7 +1535,7 @@
 FederationsList::requestObjectOwner(Handle handle,
                                  FederateHandle federate,
                                  ObjectHandle id,
-                                 AttributeHandle *attributes,
+                                 std::vector <AttributeHandle> &attributes,
                                  UShort list_size)
         throw (ObjectNotKnown,
                FederationExecutionDoesNotExist,
@@ -1558,5 +1558,5 @@
 
 }} // certi::rtig
 
-// EOF $Id: FederationsList.cc,v 3.56 2008/04/29 08:33:04 erk Exp $
+// EOF $Id: FederationsList.cc,v 3.57 2008/06/10 13:41:45 rousse Exp $
 

Index: RTIG/FederationsList.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.hh,v
retrieving revision 3.41
retrieving revision 3.42
diff -u -b -r3.41 -r3.42
--- RTIG/FederationsList.hh     29 Apr 2008 08:33:04 -0000      3.41
+++ RTIG/FederationsList.hh     10 Jun 2008 13:41:45 -0000      3.42
@@ -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.41 2008/04/29 08:33:04 erk Exp $
+// $Id: FederationsList.hh,v 3.42 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_RTIG_FEDERATIONS_LIST_HH
@@ -105,7 +105,7 @@
                                const char *the_label,
                                const char *the_tag,
                                unsigned short federate_setSize,
-                               FederateHandle *federate_set)
+                               std::vector <FederateHandle> &federate_set)
         throw (FederationAlreadyPaused,
                FederationNotPaused,
                FederateNotExecutionMember,
@@ -125,7 +125,7 @@
                                   const char *label,
                                   const char *tag,
                                   unsigned short federate_setSize,
-                                  FederateHandle *federate_set)
+                                  std::vector <FederateHandle> &federate_set)
         throw (FederationExecutionDoesNotExist,
                RTIinternalError);
 
@@ -220,7 +220,7 @@
     void publishObject(Handle theHandle,
                        FederateHandle theFederateHandle,
                        ObjectClassHandle theObjectHandle,
-                       AttributeHandle *theAttributeList,
+                       std::vector <AttributeHandle> &theAttributeList,
                        UShort theListSize,
                        bool pub)
         throw (ObjectClassNotDefined,
@@ -235,7 +235,7 @@
     void subscribeObject(Handle theHandle,
                          FederateHandle theFederateHandle,
                          ObjectClassHandle theObjectHandle,
-                         AttributeHandle *theAttributeList,
+                         std::vector <AttributeHandle> &theAttributeList,
                          UShort theListSize)
         throw (ObjectClassNotDefined,
                AttributeNotDefined,
@@ -262,7 +262,7 @@
     FederateHandle requestObjectOwner(Handle handle,
                                 FederateHandle federate,
                                 ObjectHandle id,
-                                AttributeHandle *attributes,
+                                std::vector <AttributeHandle> &attributes,
                                  UShort list_size)
         throw (ObjectNotKnown,
                FederationExecutionDoesNotExist,
@@ -298,7 +298,7 @@
     void updateAttribute(Handle theHandle,
                          FederateHandle theFederateHandle,
                          ObjectHandle theObjectHandle,
-                         AttributeHandle *theAttributeList,
+                         std::vector <AttributeHandle> &theAttributeList,
                          ValueLengthPair *theValueList,
                          UShort theListSize,
                          FederationTime theTime,
@@ -315,7 +315,7 @@
     void updateAttribute(Handle theHandle,
                          FederateHandle theFederateHandle,
                          ObjectHandle theObjectHandle,
-                         AttributeHandle *theAttributeList,
+                         std::vector <AttributeHandle> &theAttributeList,
                          ValueLengthPair *theValueList,
                          UShort theListSize,
                          const char *theTag)
@@ -359,7 +359,7 @@
     void updateParameter(Handle theFederation,
                          FederateHandle theFederateHandle,
                          InteractionClassHandle theInteractionHandle,
-                         ParameterHandle *theParameterList,
+                         std::vector <ParameterHandle> &theParameterList,
                          ParameterLengthPair *theValueList,
                          UShort theListSize,
                          FederationTime theTime,
@@ -377,7 +377,7 @@
     void updateParameter(Handle theFederation,
                          FederateHandle theFederateHandle,
                          InteractionClassHandle theInteractionHandle,
-                         ParameterHandle *theParameterList,
+                         std::vector <ParameterHandle> &theParameterList,
                          ParameterLengthPair *theValueList,
                          UShort theListSize,
                         RegionHandle,
@@ -419,7 +419,7 @@
     void negotiateDivestiture(Handle,
                               FederateHandle,
                               ObjectHandle,
-                              AttributeHandle*,
+                              std::vector <AttributeHandle>&,
                               UShort,
                               const char *)
         throw (FederateNotExecutionMember,
@@ -434,7 +434,7 @@
     void acquireIfAvailable(Handle,
                             FederateHandle,
                             ObjectHandle,
-                            AttributeHandle*,
+                            std::vector <AttributeHandle>&,
                             UShort)
         throw (ObjectNotKnown,
                ObjectClassNotPublished,
@@ -450,7 +450,7 @@
     void divest(Handle,
                 FederateHandle,
                 ObjectHandle,
-                AttributeHandle*,
+                std::vector <AttributeHandle>&,
                 UShort)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -463,7 +463,7 @@
     void acquire(Handle theHandle,
                  FederateHandle theFederateHandle,
                  ObjectHandle theObjectHandle,
-                 AttributeHandle *theAttributeList,
+                 std::vector <AttributeHandle> &theAttributeList,
                  UShort theListSize,
                  const char *theTag)
         throw (ObjectNotKnown,
@@ -479,7 +479,7 @@
     void cancelDivestiture(Handle theHandle,
                            FederateHandle theFederateHandle,
                            ObjectHandle theObjectHandle,
-                           AttributeHandle *theAttributeList,
+                           std::vector <AttributeHandle> &theAttributeList,
                            UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -493,7 +493,7 @@
     AttributeHandleSet* respondRelease(Handle theHandle,
                                        FederateHandle theFederateHandle,
                                        ObjectHandle theObjectHandle,
-                                       AttributeHandle *theAttributeList,
+                                       std::vector <AttributeHandle> 
&theAttributeList,
                                        UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -507,7 +507,7 @@
     void cancelAcquisition(Handle theHandle,
                            FederateHandle theFederateHandle,
                            ObjectHandle theObjectHandle,
-                           AttributeHandle *theAttributeList,
+                           std::vector <AttributeHandle> &theAttributeList,
                            UShort theListSize)
         throw (ObjectNotKnown,
                AttributeNotDefined,
@@ -533,7 +533,7 @@
                SaveInProgress, RestoreInProgress, RTIinternalError);
 
     void associateRegion(Handle, FederateHandle, ObjectHandle, RegionHandle,
-                        unsigned short, AttributeHandle *)
+                        unsigned short, std::vector <AttributeHandle> &)
        throw (RegionInUse, FederateNotExecutionMember, SaveInProgress,
               RestoreInProgress, RTIinternalError);
 
@@ -542,7 +542,7 @@
               RestoreInProgress, RTIinternalError);
 
     void subscribeAttributesWR(Handle, FederateHandle, ObjectClassHandle,
-                              RegionHandle, unsigned short, AttributeHandle *)
+                              RegionHandle, unsigned short, std::vector 
<AttributeHandle> &)
        throw (FederateNotExecutionMember, SaveInProgress, RestoreInProgress,
               RTIinternalError);
 
@@ -563,7 +563,7 @@
 
     ObjectHandle registerObjectWithRegion(Handle, FederateHandle, 
                                          ObjectClassHandle, ObjectName,
-                                         RegionHandle, int, AttributeHandle *)
+                                         RegionHandle, int, std::vector 
<AttributeHandle> &)
        throw (ObjectClassNotDefined, ObjectClassNotPublished,
               AttributeNotDefined, AttributeNotPublished, RegionNotKnown,
               InvalidRegionContext, ObjectAlreadyRegistered,
@@ -585,4 +585,4 @@
 
 #endif // _CERTI_RTIG_FEDERATIONS_LIST_HH
 
-// $Id: FederationsList.hh,v 3.41 2008/04/29 08:33:04 erk Exp $
+// $Id: FederationsList.hh,v 3.42 2008/06/10 13:41:45 rousse Exp $

Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.72
retrieving revision 3.73
diff -u -b -r3.72 -r3.73
--- RTIG/RTIG_processing.cc     30 May 2008 14:01:05 -0000      3.72
+++ RTIG/RTIG_processing.cc     10 Jun 2008 13:41:45 -0000      3.73
@@ -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.72 2008/05/30 14:01:05 erk Exp $
+// $Id: RTIG_processing.cc,v 3.73 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include <config.h>
@@ -680,6 +680,8 @@
     G.Out(pdGendoc,"enter RTIG::processSubscribeObjectClass");
     G.Out(pdGendoc,"BEGIN **  SUBSCRIBE OBJECT CLASS SERVICE **");
 
+    std::vector <AttributeHandle> arrayVide ;
+    arrayVide.empty() ;
     bool sub = (req->getType() == NetworkMessage::SUBSCRIBE_OBJECT_CLASS);
 
     auditServer << "Class = " << req->objectClass
@@ -688,7 +690,7 @@
     federations.subscribeObject(req->federation,
                                req->federate,
                                req->objectClass,
-                               sub ? req->handleArray : 0,
+                               sub ? req->handleArray : arrayVide,
                                sub ? req->handleArraySize : 0);
 
     D.Out(pdRegister,
@@ -1140,6 +1142,7 @@
 
     NM_Attribute_Ownership_Release_Response rep ;
     rep.handleArraySize = attributes->size();
+    rep.handleArray.resize(rep.handleArraySize) ;
 
     for (unsigned int i = 0 ; i < attributes->size(); i++) {
         rep.handleArray[i] = attributes->getHandle(i);
@@ -1429,4 +1432,4 @@
 
 }} // namespace certi/rtig
 
-// $Id: RTIG_processing.cc,v 3.72 2008/05/30 14:01:05 erk Exp $
+// $Id: RTIG_processing.cc,v 3.73 2008/06/10 13:41:45 rousse Exp $

Index: libCERTI/Interaction.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Interaction.cc,v
retrieving revision 3.37
retrieving revision 3.38
diff -u -b -r3.37 -r3.38
--- libCERTI/Interaction.cc     7 May 2008 15:37:37 -0000       3.37
+++ libCERTI/Interaction.cc     10 Jun 2008 13:41:45 -0000      3.38
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Interaction.cc,v 3.37 2008/05/07 15:37:37 erk Exp $
+// $Id: Interaction.cc,v 3.38 2008/06/10 13:41:45 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -314,7 +314,7 @@
 */
 void
 Interaction::isReady(FederateHandle federate_handle,
-                     ParameterHandle *parameter_list,
+                     std::vector <ParameterHandle> &parameter_list,
                      UShort list_size)
     throw (FederateNotPublishing,
            InteractionParameterNotDefined,
@@ -387,7 +387,7 @@
 */
 InteractionBroadcastList *
 Interaction::sendInteraction(FederateHandle federate_handle,
-                             ParameterHandle *parameter_list,
+                             std::vector <ParameterHandle> &parameter_list,
                              ParameterLengthPair *value_list,
                              UShort list_size,
                              FederationTime time,
@@ -418,6 +418,7 @@
         answer->setLabel(the_tag);
 
         answer->handleArraySize = list_size ;
+        answer->handleArray.resize(list_size) ;
         for (int i = 0 ; i < list_size ; i++) {
             answer->handleArray[i] = parameter_list[i] ;
             answer->setValue(i, value_list[i].value, value_list[i].length);
@@ -446,7 +447,7 @@
 */
 InteractionBroadcastList *
 Interaction::sendInteraction(FederateHandle federate_handle,
-                             ParameterHandle *parameter_list,
+                             std::vector <ParameterHandle> &parameter_list,
                              ParameterLengthPair *value_list,
                              UShort list_size,
                             const RTIRegion *region,
@@ -474,6 +475,7 @@
         answer->setLabel(the_tag);
 
         answer->handleArraySize = list_size ;
+        answer->handleArray.resize(list_size) ;
         for (int i = 0 ; i < list_size ; i++) {
             answer->handleArray[i] = parameter_list[i] ;
             answer->setValue(i, value_list[i].value, value_list[i].length);
@@ -549,4 +551,4 @@
 
 } // namespace certi
 
-// $Id: Interaction.cc,v 3.37 2008/05/07 15:37:37 erk Exp $
+// $Id: Interaction.cc,v 3.38 2008/06/10 13:41:45 rousse Exp $

Index: libCERTI/Interaction.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/Interaction.hh,v
retrieving revision 3.26
retrieving revision 3.27
diff -u -b -r3.26 -r3.27
--- libCERTI/Interaction.hh     11 Dec 2007 19:46:53 -0000      3.26
+++ libCERTI/Interaction.hh     10 Jun 2008 13:41:46 -0000      3.27
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Interaction.hh,v 3.26 2007/12/11 19:46:53 erk Exp $
+// $Id: Interaction.hh,v 3.27 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_INTERACTION_HH
@@ -96,7 +96,7 @@
 
     // -- Instance Broadcasting --
     void isReady(FederateHandle federate_handle,
-                 ParameterHandle *parameter_list,
+                 std::vector <ParameterHandle> &parameter_list,
                  UShort list_size)
         throw (FederateNotPublishing,
                InteractionParameterNotDefined,
@@ -104,7 +104,7 @@
 
     InteractionBroadcastList *
     sendInteraction(FederateHandle federate_handle,
-                    ParameterHandle *parameter_list,
+                    std::vector <ParameterHandle> &parameter_list,
                     ParameterLengthPair *value_list,
                     UShort list_size,
                     FederationTime the_time,
@@ -117,7 +117,7 @@
 
     InteractionBroadcastList *
     sendInteraction(FederateHandle federate_handle,
-                    ParameterHandle *parameter_list,
+                    std::vector <ParameterHandle> &parameter_list,
                     ParameterLengthPair *value_list,
                     UShort list_size,
                    const RTIRegion *,
@@ -167,4 +167,4 @@
 
 #endif // _CERTI_INTERACTION.HH
 
-// $Id: Interaction.hh,v 3.26 2007/12/11 19:46:53 erk Exp $
+// $Id: Interaction.hh,v 3.27 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/InteractionSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/InteractionSet.cc,v
retrieving revision 3.20
retrieving revision 3.21
diff -u -b -r3.20 -r3.21
--- libCERTI/InteractionSet.cc  31 Oct 2007 10:30:23 -0000      3.20
+++ libCERTI/InteractionSet.cc  10 Jun 2008 13:41:46 -0000      3.21
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: InteractionSet.cc,v 3.20 2007/10/31 10:30:23 erk Exp $
+// $Id: InteractionSet.cc,v 3.21 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include "Interaction.hh"
@@ -59,7 +59,7 @@
 void
 InteractionSet::broadcastInteraction(FederateHandle federate_handle,
                                      InteractionClassHandle interaction_handle,
-                                     ParameterHandle *parameter_list,
+                                     std::vector <ParameterHandle> 
&parameter_list,
                                      ParameterLengthPair *value_list,
                                      UShort list_size,
                                      FederationTime the_time,
@@ -109,7 +109,7 @@
 void
 InteractionSet::broadcastInteraction(FederateHandle federate_handle,
                                      InteractionClassHandle interaction_handle,
-                                     ParameterHandle *parameter_list,
+                                     std::vector <ParameterHandle> 
&parameter_list,
                                      ParameterLengthPair *value_list,
                                      UShort list_size,
                                     const RTIRegion *region,
@@ -292,7 +292,7 @@
 void
 InteractionSet::isReady(FederateHandle federate_handle,
                         InteractionClassHandle the_interaction,
-                        ParameterHandle *param_array,
+                        std::vector <ParameterHandle> &param_array,
                         UShort param_array_size)
     throw (FederateNotPublishing,
            InteractionClassNotDefined,
@@ -357,4 +357,4 @@
 
 } // namespace certi
 
-// $Id: InteractionSet.cc,v 3.20 2007/10/31 10:30:23 erk Exp $
+// $Id: InteractionSet.cc,v 3.21 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/InteractionSet.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/InteractionSet.hh,v
retrieving revision 3.15
retrieving revision 3.16
diff -u -b -r3.15 -r3.16
--- libCERTI/InteractionSet.hh  31 Oct 2007 10:30:20 -0000      3.15
+++ libCERTI/InteractionSet.hh  10 Jun 2008 13:41:46 -0000      3.16
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: InteractionSet.hh,v 3.15 2007/10/31 10:30:20 erk Exp $
+// $Id: InteractionSet.hh,v 3.16 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_INTERACTION_SET_HH
@@ -105,7 +105,7 @@
     // -------------------------------------
     void isReady(FederateHandle theFederateHandle,
                  InteractionClassHandle theInteraction,
-                 ParameterHandle *paramArray,
+                 std::vector <ParameterHandle> &paramArray,
                  UShort paramArraySize)
         throw (FederateNotPublishing,
                InteractionClassNotDefined,
@@ -114,7 +114,7 @@
 
     void broadcastInteraction(FederateHandle theFederateHandle,
                               InteractionClassHandle theInteractionHandle,
-                              ParameterHandle *theParameterList,
+                              std::vector <ParameterHandle> &theParameterList,
                               ParameterLengthPair *theValueList,
                               UShort theListSize,
                               FederationTime theTime,
@@ -127,7 +127,7 @@
 
     void broadcastInteraction(FederateHandle theFederateHandle,
                               InteractionClassHandle theInteractionHandle,
-                              ParameterHandle *theParameterList,
+                              std::vector <ParameterHandle> &theParameterList,
                               ParameterLengthPair *theValueList,
                               UShort theListSize,
                              const RTIRegion *,
@@ -145,4 +145,4 @@
 
 #endif // _CERTI_INTERACTION_SET_HH
 
-// $Id: InteractionSet.hh,v 3.15 2007/10/31 10:30:20 erk Exp $
+// $Id: InteractionSet.hh,v 3.16 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/Message.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message.cc,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- libCERTI/Message.cc 3 Jun 2008 14:16:21 -0000       3.54
+++ libCERTI/Message.cc 10 Jun 2008 13:41:46 -0000      3.55
@@ -350,22 +350,28 @@
 void
 Message::setAHS(const AttributeHandleSet &the_attributes)
 {
+    G.Out(pdGendoc,"enter Message::setAHS");
     handleArraySize = the_attributes.size();
+    handleArray.resize(handleArraySize);
 
     for (unsigned int i = 0 ; i < the_attributes.size(); ++i) {
         handleArray[i] = the_attributes.getHandle(i);
     }
+    G.Out(pdGendoc,"exit  Message::setAHS");
 }
 
 // ----------------------------------------------------------------------------
 void
 Message::setAHS(const AttributeHandle *attr, int size)
 {
+    G.Out(pdGendoc,"enter Message::setAHS with size");
     handleArraySize = size ;
+    handleArray.resize(handleArraySize);
 
     for (int i = 0 ; i < size ; ++i) {
         handleArray[i] = attr[i] ;
     }
+    G.Out(pdGendoc,"exit  Message::setAHS with size");
 }
 
 // ----------------------------------------------------------------------------
@@ -400,6 +406,7 @@
     unsigned long size ;
     size = the_attributes.size() ;
     handleArraySize = size ;
+    handleArray.resize(handleArraySize);
 
     for (unsigned long i = 0 ; i < size ; i++) {
 
@@ -446,6 +453,7 @@
     unsigned long size ;
     size = the_parameters.size() ;
     handleArraySize = size ;
+    handleArray.resize(handleArraySize);
 
     for (unsigned long i = 0 ; i < size ; i++)
         {
@@ -460,9 +468,10 @@
 
 // ----------------------------------------------------------------------------
 void
-Message::setAttributes(AttributeHandle *the_attributes, ushort the_size)
+Message::setAttributes(std::vector <AttributeHandle> &the_attributes, ushort 
the_size)
 {
     handleArraySize = the_size ;
+    handleArray.resize(handleArraySize);
 
     for (int i = 0 ; i < the_size ; i++) {
         handleArray[i] = the_attributes[i] ;
@@ -471,11 +480,12 @@
 
 // ----------------------------------------------------------------------------
 void
-Message::setAttributes(AttributeHandle *the_attributes,
+Message::setAttributes(std::vector <AttributeHandle> &the_attributes,
                        ValueLengthPair *the_values,
                        ushort the_size)
 {
     handleArraySize = the_size ;
+    handleArray.resize(handleArraySize);
 
     for (int i = 0 ; i < the_size ; i++) {
         handleArray[i] = the_attributes[i] ;
@@ -485,12 +495,13 @@
 
 // ----------------------------------------------------------------------------
 void
-Message::setParameters(ParameterHandle * the_parameters,
+Message::setParameters(std::vector <ParameterHandle> & the_parameters,
                        ParameterLengthPair * the_values,
                        ushort the_size)
 
 {
     handleArraySize = the_size ;
+    handleArray.resize(handleArraySize);
 
     for (int i = 0 ; i < the_size ; i++) {
         handleArray[i] = the_parameters[i] ;
@@ -607,6 +618,7 @@
     label = msg.label ;
 
     handleArraySize = msg.handleArraySize ;
+    handleArray.resize(handleArraySize);
 
     int i ;
     for (i=0 ; i < handleArraySize ; i++)

Index: libCERTI/Message.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message.hh,v
retrieving revision 3.46
retrieving revision 3.47
diff -u -b -r3.46 -r3.47
--- libCERTI/Message.hh 30 May 2008 09:49:17 -0000      3.46
+++ libCERTI/Message.hh 10 Jun 2008 13:41:46 -0000      3.47
@@ -395,9 +395,9 @@
     RTI::ParameterHandleValuePairSet* getPHVPS() const ;
     void setPHVPS(const RTI::ParameterHandleValuePairSet &);
 
-    void setAttributes(AttributeHandle *, ushort);
-    void setAttributes(AttributeHandle *, ValueLengthPair *, ushort);
-    void setParameters(ParameterHandle *, ParameterLengthPair *, ushort);
+    void setAttributes(std::vector <AttributeHandle> &, ushort);
+    void setAttributes(std::vector <AttributeHandle> &, ValueLengthPair *, 
ushort);
+    void setParameters(std::vector <ParameterHandle> &, ParameterLengthPair *, 
ushort);
 
     void setException(TypeException, const char *the_reason = "\0");
     TypeException getExceptionType() const { return exception ; };
@@ -442,7 +442,9 @@
 
     // used for both Attributes and Parameters arrays.
     UShort handleArraySize ;
-    AttributeHandle handleArray[MAX_ATTRIBUTES_PER_CLASS] ;
+    // handle array is now a vector so MAX_ATTRIBUTES_PER_CLASS will be
+    // suppressed asap
+    std::vector <AttributeHandle> handleArray ;
 
     Message &operator=(const Message &);
 

Index: libCERTI/Message_R.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_R.cc,v
retrieving revision 3.26
retrieving revision 3.27
diff -u -b -r3.26 -r3.27
--- libCERTI/Message_R.cc       3 Jun 2008 08:45:49 -0000       3.26
+++ libCERTI/Message_R.cc       10 Jun 2008 13:41:46 -0000      3.27
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_R.cc,v 3.26 2008/06/03 08:45:49 rousse Exp $
+// $Id: Message_R.cc,v 3.27 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -541,7 +541,12 @@
 void
 Message::readHandleArray(MessageBuffer &msgBuffer)
 {
-    msgBuffer.read_bytes((char *) handleArray, handleArraySize * 
sizeof(AttributeHandle));
+    handleArraySize = msgBuffer.read_uint16() ;
+    handleArray.resize(handleArraySize) ;
+    for ( short i=0 ; i<handleArraySize ; i++)
+      {
+      handleArray[i] = msgBuffer.read_uint64() ;
+      }
 }
 
 // ----------------------------------------------------------------------------
@@ -617,4 +622,4 @@
 
 } // namespace certi
 
-// $Id: Message_R.cc,v 3.26 2008/06/03 08:45:49 rousse Exp $
+// $Id: Message_R.cc,v 3.27 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.31
retrieving revision 3.32
diff -u -b -r3.31 -r3.32
--- libCERTI/Message_W.cc       3 Jun 2008 08:45:50 -0000       3.31
+++ libCERTI/Message_W.cc       10 Jun 2008 13:41:46 -0000      3.32
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: Message_W.cc,v 3.31 2008/06/03 08:45:50 rousse Exp $
+// $Id: Message_W.cc,v 3.32 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -515,7 +515,12 @@
 void
 Message::writeHandleArray(MessageBuffer &msgBuffer)
 {
-    msgBuffer.write_bytes( (char *)handleArray,(unsigned int)(handleArraySize 
* sizeof(AttributeHandle))) ; 
+    //msgBuffer.write_bytes( (char *)handleArray,(unsigned 
int)(handleArraySize * sizeof(AttributeHandle))) ; 
+    msgBuffer.write_uint16(handleArraySize) ;
+    for ( short i=0 ; i<handleArraySize ; i++)
+      {
+      msgBuffer.write_uint64(handleArray[i]) ;
+      }
 }
 
 // ----------------------------------------------------------------------------
@@ -578,4 +583,4 @@
 
 } // namespace certi
 
-// $Id: Message_W.cc,v 3.31 2008/06/03 08:45:50 rousse Exp $
+// $Id: Message_W.cc,v 3.32 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/NM_Classes.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NM_Classes.cc,v
retrieving revision 3.8
retrieving revision 3.9
diff -u -b -r3.8 -r3.9
--- libCERTI/NM_Classes.cc      30 May 2008 14:01:05 -0000      3.8
+++ libCERTI/NM_Classes.cc      10 Jun 2008 13:41:46 -0000      3.9
@@ -350,6 +350,7 @@
         * the loop is void which is done on purpose.
         * (this is a feature not a bug :-) 
         */     
+        handleArray.resize(handleArraySize);   
        for (i = 0 ; i < handleArraySize ; i ++) {
                handleArray[i] = msgBuffer.read_int16();
        }

Index: libCERTI/NetworkMessage.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.cc,v
retrieving revision 3.32
retrieving revision 3.33
diff -u -b -r3.32 -r3.33
--- libCERTI/NetworkMessage.cc  9 May 2008 20:21:39 -0000       3.32
+++ libCERTI/NetworkMessage.cc  10 Jun 2008 13:41:46 -0000      3.33
@@ -16,7 +16,7 @@
 // License along with this program ; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// $Id: NetworkMessage.cc,v 3.32 2008/05/09 20:21:39 erk Exp $
+// $Id: NetworkMessage.cc,v 3.33 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -207,10 +207,10 @@
 
 // ----------------------------------------------------------------------------
 void
-NetworkMessage::setAHS(const AttributeHandle *attr, int size)
+NetworkMessage::setAHS(const std::vector <AttributeHandle> &attr, int size)
 {
     handleArraySize = size ;
-
+    handleArray.resize(size) ;
     for (int i = 0 ; i < size ; ++i) {
         handleArray[i] = attr[i] ;
     }
@@ -218,4 +218,4 @@
 
 } // namespace certi
 
-// $Id: NetworkMessage.cc,v 3.32 2008/05/09 20:21:39 erk Exp $
+// $Id: NetworkMessage.cc,v 3.33 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.36
retrieving revision 3.37
diff -u -b -r3.36 -r3.37
--- libCERTI/NetworkMessage.hh  30 May 2008 14:01:04 -0000      3.36
+++ libCERTI/NetworkMessage.hh  10 Jun 2008 13:41:46 -0000      3.37
@@ -17,7 +17,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: NetworkMessage.hh,v 3.36 2008/05/30 14:01:04 erk Exp $
+// $Id: NetworkMessage.hh,v 3.37 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef CERTI_NETWORK_MESSAGE_HH
@@ -194,7 +194,7 @@
        // containing the actual Parameter values. You must FREE this structure.
        ParameterLengthPair *getParamValueArray();
 
-       void setAHS(const AttributeHandle *, int);
+       void setAHS(const std::vector <AttributeHandle> &, int);
 
        UShort number ;
 
@@ -252,8 +252,7 @@
 
        /* NM_WithHandleArray class specific fields */
        UShort handleArraySize ;
-       /* FIXME will make this a vector<AttributeHandle> */
-       AttributeHandle handleArray[MAX_ATTRIBUTES_PER_CLASS] ;
+       std::vector <AttributeHandle> handleArray ;
 
        TransportType transport ;
        OrderType order ;
@@ -353,4 +352,4 @@
 
 #endif // CERTI_NETWORK_MESSAGE_HH
 
-// $Id: NetworkMessage.hh,v 3.36 2008/05/30 14:01:04 erk Exp $
+// $Id: NetworkMessage.hh,v 3.37 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/ObjectClass.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClass.cc,v
retrieving revision 3.46
retrieving revision 3.47
diff -u -b -r3.46 -r3.47
--- libCERTI/ObjectClass.cc     30 May 2008 14:01:05 -0000      3.46
+++ libCERTI/ObjectClass.cc     10 Jun 2008 13:41:46 -0000      3.47
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: ObjectClass.cc,v 3.46 2008/05/30 14:01:05 erk Exp $
+// $Id: ObjectClass.cc,v 3.47 2008/06/10 13:41:46 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #include  "Object.hh"
@@ -238,6 +238,7 @@
             answer->federate = theFederate ;            
             answer->object = theObjectHandle ;
             answer->setLabel(theTag);
+            answer->handleArray.resize(nbAttributes) ;
 
             int index = 0 ;
             for (int j = i ; j < nbAttributes ; j++) {
@@ -611,11 +612,12 @@
 {
     D.Out(pdRegister, "Object Class %d: Killing Federate %d.",
           handle, the_federate);
-
+    std::vector <AttributeHandle> liste_vide ;
+    liste_vide.empty();
     try {
         // Does federate is publishing something ? (not important)
         if (isFederatePublisher(the_federate)) {
-            publish(the_federate, NULL, 0, false);
+            publish(the_federate, liste_vide, 0, false);
         }
 
         // Does federate subscribed something ?
@@ -651,7 +653,7 @@
 //! publish.
 void
 ObjectClass::publish(FederateHandle theFederateHandle,
-                     AttributeHandle *theAttributeList,
+                     std::vector <AttributeHandle> &theAttributeList,
                      UShort theListSize,
                      bool PubOrUnpub)
     throw (AttributeNotDefined,
@@ -847,7 +849,7 @@
  */
 bool
 ObjectClass::subscribe(FederateHandle fed,
-                       AttributeHandle *attributes,
+                       std::vector <AttributeHandle> &attributes,
                        int nb_attributes,
                       const RTIRegion *region)
     throw (AttributeNotDefined, RTIinternalError, SecurityError)
@@ -880,7 +882,7 @@
 ObjectClassBroadcastList *
 ObjectClass::updateAttributeValues(FederateHandle the_federate,
                                    Object *object,
-                                   AttributeHandle *the_attributes,
+                                   std::vector <AttributeHandle> 
&the_attributes,
                                    ValueLengthPair *the_values,
                                    int the_size,
                                    FederationTime the_time,
@@ -911,7 +913,7 @@
         // with time
         answer->setDate(the_time);        
         answer->setLabel(the_tag);
-
+        answer->handleArray.resize(the_size) ;
         answer->handleArraySize = the_size ;
 
         for (int i = 0 ; i < the_size ; i++) {
@@ -943,7 +945,7 @@
 ObjectClassBroadcastList *
 ObjectClass::updateAttributeValues(FederateHandle the_federate,
                                    Object *object,
-                                   AttributeHandle *the_attributes,
+                                   std::vector <AttributeHandle> 
&the_attributes,
                                    ValueLengthPair *the_values,
                                    int the_size,
                                    const char *the_tag)
@@ -975,6 +977,7 @@
         answer->setLabel(the_tag);
 
         answer->handleArraySize = the_size ;
+        answer->handleArray.resize(the_size) ;
 
         for (int i = 0 ; i < the_size ; i++) {
             answer->handleArray[i] = the_attributes[i] ;
@@ -1005,7 +1008,7 @@
 ObjectClassBroadcastList * ObjectClass::
 negotiatedAttributeOwnershipDivestiture(FederateHandle theFederateHandle,
                                         ObjectHandle theObjectHandle,
-                                        AttributeHandle *theAttributeList,
+                                        std::vector <AttributeHandle> 
&theAttributeList,
                                         UShort theListSize,
                                         const char *theTag)
     throw (ObjectNotKnown,
@@ -1053,6 +1056,10 @@
         NM_Attribute_Ownership_Divestiture_Notification AnswerDivestiture;
 
         AnswerAssumption->handleArraySize = theListSize ;
+        AnswerAssumption->handleArray.resize(theListSize) ;
+
+        // Maximum size
+        AnswerDivestiture.handleArray.resize(theListSize) ;
 
         CDiffusion diffusionAcquisition;
 
@@ -1065,7 +1072,7 @@
                 // An attributeOwnershipAcquisition is on the way
                 // with this attribute.
 
-                // Le demandeur le plus r�cent devient propri�taire
+                // Le demandeur le plus recent devient proprietaire
                 NewOwner = oa->getCandidate(1);
 
                 oa->setOwner(NewOwner);
@@ -1073,7 +1080,7 @@
                 // On le supprime de la liste des demandeurs
                 oa->removeCandidate(NewOwner);
 
-                // On r�initialise divesting
+                // On reinitialise divesting
                 oa->setDivesting(false);
 
                 diffusionAcquisition.DiffArray[compteur_acquisition]
@@ -1152,7 +1159,7 @@
 void ObjectClass::
 attributeOwnershipAcquisitionIfAvailable(FederateHandle the_federate,
                                          ObjectHandle the_object,
-                                         AttributeHandle *the_attributes,
+                                         std::vector <AttributeHandle> 
&the_attributes,
                                          UShort theListSize)
     throw (ObjectNotKnown,
            ObjectClassNotPublished,
@@ -1202,17 +1209,19 @@
         Answer_notification->federate = the_federate ;
         Answer_notification->exception = e_NO_EXCEPTION ;
         Answer_notification->object = the_object ;
+        Answer_notification->handleArray.resize(theListSize) ;
 
         NetworkMessage *Answer_unavailable = 
NM_Factory::create(NetworkMessage::ATTRIBUTE_OWNERSHIP_UNAVAILABLE) ;        
         Answer_unavailable->federation = server->federation();
         Answer_unavailable->federate = the_federate ;
         Answer_unavailable->exception = e_NO_EXCEPTION ;
         Answer_unavailable->object = the_object ;
+        Answer_unavailable->handleArray.resize(theListSize) ;
 
         CDiffusion *diffusionDivestiture = new CDiffusion();
 
         //
-        //Ce service ne doit pas ajouter le f�d�r� demandeur � la liste
+        //Ce service ne doit pas ajouter le federe demandeur a la liste
         //des candidats!!!
         //
         int compteur_unavailable = 0 ;
@@ -1226,7 +1235,7 @@
 
             oldOwner = oa->getOwner();
             if ((oldOwner == 0) || (oa->beingDivested())) {
-                //Cet attribut est libre ou offert par son propri�taire
+                //Cet attribut est libre ou offert par son proprietaire
                 //S'il est offert
                 if (oa->beingDivested()) {
                     
diffusionDivestiture->DiffArray[compteur_divestiture].federate
@@ -1241,7 +1250,7 @@
                 oa->setOwner(the_federate);
                 oa->setDivesting(false);
                 compteur_notification++ ;
-                //object->Owner reste le champ de r�f�rence
+                //object->Owner reste le champ de reference
                 //pour le privilegeToDelete
                 if (strcmp(oca->getCName(), "privilegeToDelete") == 0)
                     object->setOwner(the_federate);
@@ -1293,7 +1302,7 @@
 ObjectClassBroadcastList * ObjectClass::
 unconditionalAttributeOwnershipDivestiture(FederateHandle theFederateHandle,
                                            ObjectHandle theObjectHandle,
-                                           AttributeHandle *theAttributeList,
+                                           std::vector <AttributeHandle> 
&theAttributeList,
                                            UShort theListSize)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1309,7 +1318,7 @@
     for (int index = 0 ; index < theListSize ; index++)
         getAttribute(theAttributeList[index]);
 
-    //Le f�d�r� est-il propri�taire de tous les attributs
+    //Le federe est-il proprietaire de tous les attributs
     ObjectAttribute * oa ;
     for (int i = 0 ; i < theListSize ; i++) {
         oa = object->getAttribute(theAttributeList[i]);
@@ -1323,9 +1332,11 @@
     NM_Request_Attribute_Ownership_Assumption *AnswerAssumption = NULL ;
     ObjectClassBroadcastList *List = NULL ;
     FederateHandle NewOwner ;
+
     if (server != NULL) {
         AnswerAssumption = new NM_Request_Attribute_Ownership_Assumption();
         AnswerAssumption->handleArraySize = theListSize ;
+        AnswerAssumption->handleArray.resize(theListSize) ;
         CDiffusion *diffusionAcquisition = new CDiffusion();
 
         ObjectAttribute * oa ;
@@ -1338,7 +1349,7 @@
                 // An attributeOwnershipAcquisition is on the way
                 // on this attribute.
 
-                // Le demandeur le plus r�cent devient propri�taire
+                // Le demandeur le plus recent devient proprietaire
                 NewOwner = oa->getCandidate(1);
 
                 oa->setOwner(NewOwner);
@@ -1413,7 +1424,7 @@
 void
 ObjectClass::attributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                            ObjectHandle theObjectHandle,
-                                           AttributeHandle *theAttributeList,
+                                           std::vector <AttributeHandle> 
&theAttributeList,
                                            UShort theListSize,
                                            const char *theTag)
     throw (ObjectNotKnown,
@@ -1464,6 +1475,7 @@
         AnswerNotification->federate = theFederateHandle ;
         AnswerNotification->exception = e_NO_EXCEPTION ;
         AnswerNotification->object = theObjectHandle ;
+        AnswerNotification->handleArray.resize(theListSize) ;
 
         CDiffusion *diffusionDivestiture = new CDiffusion();
 
@@ -1550,7 +1562,7 @@
 ObjectClass::
 attributeOwnershipReleaseResponse(FederateHandle the_federate,
                                   ObjectHandle the_object,
-                                  AttributeHandle *the_attributes,
+                                  std::vector <AttributeHandle> 
&the_attributes,
                                   UShort the_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1642,7 +1654,7 @@
 ObjectClass::
 cancelAttributeOwnershipAcquisition(FederateHandle federate_handle,
                                     ObjectHandle object_handle,
-                                    AttributeHandle *attribute_list,
+                                    std::vector <AttributeHandle> 
&attribute_list,
                                     UShort list_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -1686,6 +1698,7 @@
         answer_confirmation->federate = federate_handle ;
         answer_confirmation->exception = e_NO_EXCEPTION ;
         answer_confirmation->object = object_handle ;
+        answer_confirmation->handleArray.resize(list_size) ;
 
         int compteur_confirmation = 0 ;
         for (int i = 0 ; i < list_size ; i++) {
@@ -1810,4 +1823,4 @@
 
 } // namespace certi
 
-// $Id: ObjectClass.cc,v 3.46 2008/05/30 14:01:05 erk Exp $
+// $Id: ObjectClass.cc,v 3.47 2008/06/10 13:41:46 rousse Exp $

Index: libCERTI/ObjectClass.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClass.hh,v
retrieving revision 3.34
retrieving revision 3.35
diff -u -b -r3.34 -r3.35
--- libCERTI/ObjectClass.hh     30 May 2008 14:01:04 -0000      3.34
+++ libCERTI/ObjectClass.hh     10 Jun 2008 13:41:47 -0000      3.35
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: ObjectClass.hh,v 3.34 2008/05/30 14:01:04 erk Exp $
+// $Id: ObjectClass.hh,v 3.35 2008/06/10 13:41:47 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_OBJECT_CLASS_HH
@@ -55,7 +55,8 @@
 
     } DiffStruct ;
 
-    DiffStruct DiffArray[MAX_ATTRIBUTES_PER_CLASS] ;
+    //DiffStruct DiffArray[MAX_ATTRIBUTES_PER_CLASS] ;
+    std::vector <DiffStruct> DiffArray ;
 
     int size ;
 
@@ -97,12 +98,12 @@
 
     // Publication and Subscription
     void publish(FederateHandle theFederateHandle,
-                 AttributeHandle *theAttributeList,
+                 std::vector <AttributeHandle> &theAttributeList,
                  UShort theListSize,
                  bool PubOrUnpub)
         throw (AttributeNotDefined, RTIinternalError, SecurityError);
 
-    bool subscribe(FederateHandle, AttributeHandle *, int, const RTIRegion *)
+    bool subscribe(FederateHandle, std::vector <AttributeHandle> &, int, const 
RTIRegion *)
         throw (AttributeNotDefined, RTIinternalError, SecurityError);
 
     void unsubscribe(FederateHandle, const RTIRegion *);
@@ -112,7 +113,7 @@
     ObjectClassBroadcastList *
     negotiatedAttributeOwnershipDivestiture(FederateHandle theFederateHandle,
                                             ObjectHandle theObjectHandle,
-                                            AttributeHandle *theAttributeList,
+                                            std::vector <AttributeHandle> 
&theAttributeList,
                                             UShort theListSize,
                                             const char *theTag)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
@@ -122,7 +123,7 @@
     void
     attributeOwnershipAcquisitionIfAvailable(FederateHandle theFederateHandle,
                                              ObjectHandle theObjectHandle,
-                                             AttributeHandle *theAttributeList,
+                                             std::vector <AttributeHandle> 
&theAttributeList,
                                              UShort theListSize)
         throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined,
                AttributeNotPublished, FederateOwnsAttributes,
@@ -131,7 +132,7 @@
     ObjectClassBroadcastList *
     unconditionalAttributeOwnershipDivestiture(FederateHandle,
                                                ObjectHandle theObjectHandle,
-                                               AttributeHandle*,
+                                               std::vector <AttributeHandle> &,
                                                UShort theListSize)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                RTIinternalError);
@@ -139,7 +140,7 @@
     void
     attributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                   ObjectHandle theObjectHandle,
-                                  AttributeHandle *theAttributeList,
+                                  std::vector <AttributeHandle> 
&theAttributeList,
                                   UShort theListSize,
                                   const char *theTag)
         throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined,
@@ -148,14 +149,14 @@
     AttributeHandleSet *
     attributeOwnershipReleaseResponse(FederateHandle theFederateHandle,
                                       ObjectHandle theObjectHandle,
-                                      AttributeHandle *theAttributeList,
+                                      std::vector <AttributeHandle> 
&theAttributeList,
                                       UShort theListSize)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                FederateWasNotAskedToReleaseAttribute, RTIinternalError);
 
     void cancelAttributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                              ObjectHandle theObjectHandle,
-                                             AttributeHandle *theAttributeList,
+                                             std::vector <AttributeHandle> 
&theAttributeList,
                                              UShort theListSize)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned,
                AttributeAcquisitionWasNotRequested, RTIinternalError);
@@ -200,13 +201,13 @@
                               const Object * = NULL);
 
     ObjectClassBroadcastList *
-    updateAttributeValues(FederateHandle, Object *, AttributeHandle *,
+    updateAttributeValues(FederateHandle, Object *, std::vector 
<AttributeHandle> &,
                           ValueLengthPair *, int, FederationTime, const char *)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                RTIinternalError, InvalidObjectHandle);
 
     ObjectClassBroadcastList *
-    updateAttributeValues(FederateHandle, Object *, AttributeHandle *,
+    updateAttributeValues(FederateHandle, Object *, std::vector 
<AttributeHandle> &,
                           ValueLengthPair *, int, const char *)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                RTIinternalError, InvalidObjectHandle);
@@ -262,4 +263,4 @@
 
 #endif // _CERTI_OBJECT_CLASS_HH
 
-// $Id: ObjectClass.hh,v 3.34 2008/05/30 14:01:04 erk Exp $
+// $Id: ObjectClass.hh,v 3.35 2008/06/10 13:41:47 rousse Exp $

Index: libCERTI/ObjectClassSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClassSet.cc,v
retrieving revision 3.35
retrieving revision 3.36
diff -u -b -r3.35 -r3.36
--- libCERTI/ObjectClassSet.cc  29 May 2008 12:20:38 -0000      3.35
+++ libCERTI/ObjectClassSet.cc  10 Jun 2008 13:41:47 -0000      3.36
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: ObjectClassSet.cc,v 3.35 2008/05/29 12:20:38 rousse Exp $
+// $Id: ObjectClassSet.cc,v 3.36 2008/06/10 13:41:47 rousse Exp $
 // ----------------------------------------------------------------------------
 
 // Project
@@ -464,7 +464,7 @@
 void
 ObjectClassSet::publish(FederateHandle theFederateHandle,
                         ObjectClassHandle theClassHandle,
-                        AttributeHandle *theAttributeList,
+                        std::vector <AttributeHandle> &theAttributeList,
                         UShort theListSize,
                         bool PubOrUnpub)
     throw (ObjectClassNotDefined,
@@ -548,7 +548,7 @@
 void
 ObjectClassSet::subscribe(FederateHandle federate,
                           ObjectClassHandle class_handle,
-                          AttributeHandle *attributes,
+                          std::vector <AttributeHandle> &attributes,
                           int nb,
                          const RTIRegion *region)
     throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError,
@@ -567,7 +567,7 @@
 void
 ObjectClassSet::updateAttributeValues(FederateHandle federate,
                                       ObjectHandle object_handle,
-                                      AttributeHandle *attributes,
+                                      std::vector <AttributeHandle> 
&attributes,
                                       ValueLengthPair *values,
                                       UShort nb,
                                       FederationTime time,
@@ -613,7 +613,7 @@
 void
 ObjectClassSet::updateAttributeValues(FederateHandle federate,
                                       ObjectHandle object_handle,
-                                      AttributeHandle *attributes,
+                                      std::vector <AttributeHandle> 
&attributes,
                                       ValueLengthPair *values,
                                       UShort nb,
                                       const char *tag)
@@ -659,7 +659,7 @@
 ObjectClassSet::
 negotiatedAttributeOwnershipDivestiture(FederateHandle theFederateHandle,
                                         ObjectHandle theObjectHandle,
-                                        AttributeHandle *theAttributeList,
+                                        std::vector <AttributeHandle> 
&theAttributeList,
                                         UShort theListSize,
                                         const char *theTag)
     throw (ObjectNotKnown,
@@ -705,7 +705,7 @@
 ObjectClassSet::
 attributeOwnershipAcquisitionIfAvailable(FederateHandle theFederateHandle,
                                          ObjectHandle theObjectHandle,
-                                         AttributeHandle *theAttributeList,
+                                         std::vector <AttributeHandle> 
&theAttributeList,
                                          UShort theListSize)
     throw (ObjectNotKnown,
            ObjectClassNotPublished,
@@ -731,7 +731,7 @@
 ObjectClassSet::
 unconditionalAttributeOwnershipDivestiture(FederateHandle theFederateHandle,
                                            ObjectHandle theObjectHandle,
-                                           AttributeHandle *theAttributeList,
+                                           std::vector <AttributeHandle> 
&theAttributeList,
                                            UShort theListSize)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -774,7 +774,7 @@
 ObjectClassSet::
 attributeOwnershipAcquisition(FederateHandle theFederateHandle,
                               ObjectHandle theObjectHandle,
-                              AttributeHandle *theAttributeList,
+                              std::vector <AttributeHandle> &theAttributeList,
                               UShort theListSize,
                               const char *theTag)
     throw (ObjectNotKnown,
@@ -800,7 +800,7 @@
 AttributeHandleSet * ObjectClassSet::
 attributeOwnershipReleaseResponse(FederateHandle theFederateHandle,
                                   ObjectHandle theObjectHandle,
-                                  AttributeHandle *theAttributeList,
+                                  std::vector <AttributeHandle> 
&theAttributeList,
                                   UShort theListSize)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -823,7 +823,7 @@
 void ObjectClassSet::
 cancelAttributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                     ObjectHandle theObjectHandle,
-                                    AttributeHandle *theAttributeList,
+                                    std::vector <AttributeHandle> 
&theAttributeList,
                                     UShort theListSize)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -843,4 +843,4 @@
 
 } // namespace certi
 
-// $Id: ObjectClassSet.cc,v 3.35 2008/05/29 12:20:38 rousse Exp $
+// $Id: ObjectClassSet.cc,v 3.36 2008/06/10 13:41:47 rousse Exp $

Index: libCERTI/ObjectClassSet.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClassSet.hh,v
retrieving revision 3.27
retrieving revision 3.28
diff -u -b -r3.27 -r3.28
--- libCERTI/ObjectClassSet.hh  29 May 2008 12:20:39 -0000      3.27
+++ libCERTI/ObjectClassSet.hh  10 Jun 2008 13:41:47 -0000      3.28
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: ObjectClassSet.hh,v 3.27 2008/05/29 12:20:39 rousse Exp $
+// $Id: ObjectClassSet.hh,v 3.28 2008/06/10 13:41:47 rousse Exp $
 // ----------------------------------------------------------------------------
 
 #ifndef _CERTI_OBJECT_CLASS_SET_HH
@@ -78,13 +78,13 @@
     // Object Class Management
     void publish(FederateHandle theFederateHandle,
                  ObjectClassHandle theClassHandle,
-                 AttributeHandle *theAttributeList,
+                 std::vector <AttributeHandle> &theAttributeList,
                  UShort theListSize,
                  bool PubOrUnpub)
         throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError,
                SecurityError);
 
-    void subscribe(FederateHandle, ObjectClassHandle, AttributeHandle *,
+    void subscribe(FederateHandle, ObjectClassHandle, std::vector 
<AttributeHandle> &,
                    int theListSize, const RTIRegion * = 0)
         throw (ObjectClassNotDefined, AttributeNotDefined, RTIinternalError,
                SecurityError);
@@ -108,7 +108,7 @@
 
     void updateAttributeValues(FederateHandle theFederateHandle,
                                ObjectHandle theObjectHandle,
-                               AttributeHandle *theAttribArray,
+                               std::vector <AttributeHandle> &theAttribArray,
                                ValueLengthPair *theValueArray,
                                UShort theArraySize,
                                FederationTime theTime,
@@ -118,7 +118,7 @@
 
     void updateAttributeValues(FederateHandle theFederateHandle,
                                ObjectHandle theObjectHandle,
-                               AttributeHandle *theAttribArray,
+                               std::vector <AttributeHandle> &theAttribArray,
                                ValueLengthPair *theValueArray,
                                UShort theArraySize,
                                const char *theUserTag)
@@ -129,7 +129,7 @@
     // Ownership Management
     void negotiatedAttributeOwnershipDivestiture(FederateHandle,
                                                  ObjectHandle theObjectHandle,
-                                                 AttributeHandle *,
+                                                 std::vector <AttributeHandle> 
&,
                                                  UShort theListSize,
                                                  const char *theTag)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
@@ -138,7 +138,7 @@
 
     void attributeOwnershipAcquisitionIfAvailable(FederateHandle,
                                                   ObjectHandle theObjectHandle,
-                                                  AttributeHandle*,
+                                                  std::vector 
<AttributeHandle>&,
                                                   UShort theListSize)
         throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined,
                AttributeNotPublished, FederateOwnsAttributes,
@@ -146,14 +146,14 @@
 
     void unconditionalAttributeOwnershipDivestiture(FederateHandle,
                                                     ObjectHandle,
-                                                    AttributeHandle*,
+                                                    std::vector 
<AttributeHandle>&,
                                                     UShort theListSize)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                RTIinternalError);
 
     void attributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                        ObjectHandle theObjectHandle,
-                                       AttributeHandle *theAttributeList,
+                                       std::vector <AttributeHandle> 
&theAttributeList,
                                        UShort theListSize,
                                        const char *theTag)
         throw (ObjectNotKnown, ObjectClassNotPublished, AttributeNotDefined,
@@ -161,14 +161,14 @@
 
     AttributeHandleSet *attributeOwnershipReleaseResponse(FederateHandle,
                                                           ObjectHandle,
-                                                          AttributeHandle *,
+                                                          std::vector 
<AttributeHandle> &,
                                                           UShort)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                FederateWasNotAskedToReleaseAttribute, RTIinternalError);
 
     void cancelAttributeOwnershipAcquisition(FederateHandle theFederateHandle,
                                              ObjectHandle theObjectHandle,
-                                             AttributeHandle *theAttributeList,
+                                             std::vector <AttributeHandle> 
&theAttributeList,
                                              UShort theListSize)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned,
                AttributeAcquisitionWasNotRequested, RTIinternalError);
@@ -210,4 +210,4 @@
 
 #endif // _CERTI_OBJECT_CLASS_SET_HH
 
-// $Id: ObjectClassSet.hh,v 3.27 2008/05/29 12:20:39 rousse Exp $
+// $Id: ObjectClassSet.hh,v 3.28 2008/06/10 13:41:47 rousse Exp $

Index: libCERTI/ObjectSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectSet.cc,v
retrieving revision 3.21
retrieving revision 3.22
diff -u -b -r3.21 -r3.22
--- libCERTI/ObjectSet.cc       30 May 2008 14:01:05 -0000      3.21
+++ libCERTI/ObjectSet.cc       10 Jun 2008 13:41:47 -0000      3.22
@@ -250,6 +250,7 @@
         answer->federation = server->federation();
         answer->exception = e_NO_EXCEPTION ;
         answer->object = the_object ;
+        answer->handleArray.resize(1) ;
         answer->handleArray[0] = the_attribute ;
         answer->federate = oa->getOwner();
         
@@ -329,7 +330,7 @@
 void ObjectSet::
 cancelNegotiatedAttributeOwnershipDivestiture(FederateHandle the_federate,
                                               ObjectHandle the_object,
-                                              AttributeHandle *the_attributes,
+                                              std::vector <AttributeHandle> 
&the_attributes,
                                               UShort the_size)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -369,7 +370,7 @@
 AttributeHandleSet *
 ObjectSet::attributeOwnershipReleaseResponse(FederateHandle,
                                              ObjectHandle,
-                                             AttributeHandle *,
+                                             std::vector <AttributeHandle> &,
                                              UShort)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -386,7 +387,7 @@
 void
 ObjectSet::cancelAttributeOwnershipAcquisition(FederateHandle,
                                                ObjectHandle,
-                                               AttributeHandle *,
+                                               std::vector <AttributeHandle> &,
                                                UShort)
     throw (ObjectNotKnown,
            AttributeNotDefined,
@@ -458,4 +459,4 @@
 }
 } // namespace certi
 
-// $Id: ObjectSet.cc,v 3.21 2008/05/30 14:01:05 erk Exp $
+// $Id: ObjectSet.cc,v 3.22 2008/06/10 13:41:47 rousse Exp $

Index: libCERTI/ObjectSet.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectSet.hh,v
retrieving revision 3.12
retrieving revision 3.13
diff -u -b -r3.12 -r3.13
--- libCERTI/ObjectSet.hh       30 May 2008 14:01:05 -0000      3.12
+++ libCERTI/ObjectSet.hh       10 Jun 2008 13:41:47 -0000      3.13
@@ -137,7 +137,7 @@
     void
     cancelNegotiatedAttributeOwnershipDivestiture(FederateHandle the_federate,
                                                   ObjectHandle the_object,
-                                                  AttributeHandle *,
+                                                  std::vector 
<AttributeHandle> &,
                                                   UShort the_size)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                AttributeDivestitureWasNotRequested, RTIinternalError);
@@ -145,7 +145,7 @@
     AttributeHandleSet *
     attributeOwnershipReleaseResponse(FederateHandle the_federate,
                                       ObjectHandle the_object,
-                                      AttributeHandle *the_attributes,
+                                      std::vector <AttributeHandle> 
&the_attributes,
                                       UShort the_size)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeNotOwned,
                FederateWasNotAskedToReleaseAttribute, RTIinternalError);
@@ -153,7 +153,7 @@
     void
     cancelAttributeOwnershipAcquisition(FederateHandle the_federate,
                                         ObjectHandle the_object,
-                                        AttributeHandle *the_attributes,
+                                        std::vector <AttributeHandle> 
&the_attributes,
                                         UShort the_size)
         throw (ObjectNotKnown, AttributeNotDefined, AttributeAlreadyOwned,
                AttributeAcquisitionWasNotRequested, RTIinternalError);

Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.86
retrieving revision 3.87
diff -u -b -r3.86 -r3.87
--- libRTI/RTIambassador.cc     4 Jun 2008 15:08:31 -0000       3.86
+++ libRTI/RTIambassador.cc     10 Jun 2008 13:41:47 -0000      3.87
@@ -19,7 +19,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 // USA
 //
-// $Id: RTIambassador.cc,v 3.86 2008/06/04 15:08:31 rousse Exp $
+// $Id: RTIambassador.cc,v 3.87 2008/06/10 13:41:47 rousse Exp $
 // ----------------------------------------------------------------------------
 
 
@@ -755,6 +755,7 @@
         req.setBoolean(true);
         // and then we have to store this set (after the size)
         req.handleArraySize = set_of_fed.size() ;
+        req.handleArray.resize(req.handleArraySize) ;
         for (unsigned long i=0 ; i<set_of_fed.size() ; i++)
             {
             req.handleArray[i] = set_of_fed.getHandle(i) ;
@@ -1873,7 +1874,7 @@
            RestoreInProgress,
            RTIinternalError)
 {
-    throw RTIinternalError("Unimplemented Service");
+    throw RTIinternalError("Unimplemented Service flushQueueRequest");
     Message req, rep ;
 
     req.type = Message::FLUSH_QUEUE_REQUEST ;
@@ -2017,7 +2018,7 @@
           RTI::ConcurrentAccessAttempted, RTI::FederateNotExecutionMember, 
           RTI::InvalidRetractionHandle)
 {
-    throw RTIinternalError("Unimplemented Service");
+    throw RTIinternalError("Unimplemented Service retract");
     Message req, rep ;
 
     req.type = Message::RETRACT ;
@@ -3010,4 +3011,4 @@
     privateRefs->executeService(&req, &rep);
 }
 
-// $Id: RTIambassador.cc,v 3.86 2008/06/04 15:08:31 rousse Exp $
+// $Id: RTIambassador.cc,v 3.87 2008/06/10 13:41:47 rousse Exp $




reply via email to

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