[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
certi RTIG/Federation.cc RTIG/Federation.hh RTI...
From: |
certi-cvs |
Subject: |
certi RTIG/Federation.cc RTIG/Federation.hh RTI... |
Date: |
Thu, 28 Feb 2008 14:47:59 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: ROUSSELOT <rousse> 08/02/28 14:47:59
Modified files:
RTIG : Federation.cc Federation.hh FederationsList.cc
FederationsList.hh RTIG_processing.cc
libCERTI : ObjectSet.cc ObjectSet.hh RootObject.cc
RootObject.hh
Log message:
Request Object Attribute Value Update continued and to be continued....
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.78&r2=3.79
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.hh?cvsroot=certi&r1=3.44&r2=3.45
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.cc?cvsroot=certi&r1=3.52&r2=3.53
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.hh?cvsroot=certi&r1=3.39&r2=3.40
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectSet.cc?cvsroot=certi&r1=3.16&r2=3.17
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectSet.hh?cvsroot=certi&r1=3.9&r2=3.10
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/RootObject.cc?cvsroot=certi&r1=3.31&r2=3.32
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/RootObject.hh?cvsroot=certi&r1=3.26&r2=3.27
Patches:
Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.78
retrieving revision 3.79
diff -u -b -r3.78 -r3.79
--- RTIG/Federation.cc 12 Feb 2008 14:26:42 -0000 3.78
+++ RTIG/Federation.cc 28 Feb 2008 14:47:58 -0000 3.79
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: Federation.cc,v 3.78 2008/02/12 14:26:42 rousse Exp $
+// $Id: Federation.cc,v 3.79 2008/02/28 14:47:58 rousse Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -2266,8 +2266,23 @@
return true ;
#endif // HAVE_XML
}
+// ----------------------------------------------------------------------------
+FederateHandle
+Federation::requestObjectOwner(FederateHandle theFederateHandle,
+ ObjectHandle theObject,
+ AttributeHandle *theAttributeList,
+ UShort theListSize)
+ throw (ObjectNotKnown)
+{
+
+ G.Out(pdGendoc,"into Federation::requestObjectOwner");
+
+ // Request Object.
+ return(root->requestObjectOwner(theFederateHandle,theObject));
+
+}
}} // namespace certi/rtig
-// $Id: Federation.cc,v 3.78 2008/02/12 14:26:42 rousse Exp $
+// $Id: Federation.cc,v 3.79 2008/02/28 14:47:58 rousse Exp $
Index: RTIG/Federation.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.hh,v
retrieving revision 3.44
retrieving revision 3.45
diff -u -b -r3.44 -r3.45
--- RTIG/Federation.hh 5 Dec 2007 12:29:39 -0000 3.44
+++ RTIG/Federation.hh 28 Feb 2008 14:47:58 -0000 3.45
@@ -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.44 2007/12/05 12:29:39 approx Exp $
+// $Id: Federation.hh,v 3.45 2008/02/28 14:47:58 rousse Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIG_FEDERATION_HH
@@ -267,6 +267,12 @@
RestoreInProgress,
RTIinternalError);
+ FederateHandle requestObjectOwner(FederateHandle theFederateHandle,
+ ObjectHandle theObject,
+ AttributeHandle *theAttributeList,
+ UShort theListSize)
+ throw (ObjectNotKnown);
+
void subscribeObject(FederateHandle theFederateHandle,
ObjectClassHandle theObjectHandle,
AttributeHandle *theAttributeList,
@@ -588,4 +594,4 @@
#endif // _CERTI_RTIG_FEDERATION_HH
-// $Id: Federation.hh,v 3.44 2007/12/05 12:29:39 approx Exp $
+// $Id: Federation.hh,v 3.45 2008/02/28 14:47:58 rousse Exp $
Index: RTIG/FederationsList.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.cc,v
retrieving revision 3.52
retrieving revision 3.53
diff -u -b -r3.52 -r3.53
--- RTIG/FederationsList.cc 27 Feb 2008 16:38:27 -0000 3.52
+++ RTIG/FederationsList.cc 28 Feb 2008 14:47:58 -0000 3.53
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: FederationsList.cc,v 3.52 2008/02/27 16:38:27 rousse Exp $
+// $Id: FederationsList.cc,v 3.53 2008/02/28 14:47:58 rousse Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -1530,22 +1530,17 @@
// ----------------------------------------------------------------------------
// requestAttribute
-void
-FederationsList::requestAttribute(Handle handle,
+FederateHandle
+FederationsList::requestObjectOwner(Handle handle,
FederateHandle federate,
ObjectHandle id,
AttributeHandle *attributes,
UShort list_size)
- throw (FederateNotExecutionMember,
- FederateNotPublishing,
- ObjectAlreadyRegistered,
- ObjectClassNotDefined,
- ObjectClassNotPublished,
- SaveInProgress,
- RestoreInProgress,
+ throw (ObjectNotKnown,
+ FederationExecutionDoesNotExist,
RTIinternalError)
{
- G.Out(pdGendoc,"enter FederationsList::requestAttribute");
+ G.Out(pdGendoc,"into FederationsList::requestObjectOwner");
Federation *federation = NULL ;
@@ -1556,11 +1551,11 @@
// It may throw FederationExecutionDoesNotExist.
searchFederation(handle, federation);
- //federation->requestAttribute(federate, id, list_size));
- G.Out(pdGendoc,"exit FederationsList::requestAttribute");
+ // It may throw ObjectNotKnown
+ return(federation->requestObjectOwner(federate, id, attributes,
list_size));
}
}} // certi::rtig
-// EOF $Id: FederationsList.cc,v 3.52 2008/02/27 16:38:27 rousse Exp $
+// EOF $Id: FederationsList.cc,v 3.53 2008/02/28 14:47:58 rousse Exp $
Index: RTIG/FederationsList.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.hh,v
retrieving revision 3.39
retrieving revision 3.40
diff -u -b -r3.39 -r3.40
--- RTIG/FederationsList.hh 27 Feb 2008 16:38:27 -0000 3.39
+++ RTIG/FederationsList.hh 28 Feb 2008 14:47:59 -0000 3.40
@@ -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.39 2008/02/27 16:38:27 rousse Exp $
+// $Id: FederationsList.hh,v 3.40 2008/02/28 14:47:59 rousse Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIG_FEDERATIONS_LIST_HH
@@ -259,18 +259,13 @@
RestoreInProgress,
RTIinternalError);
- void requestAttribute(Handle handle,
+ FederateHandle requestObjectOwner(Handle handle,
FederateHandle federate,
ObjectHandle id,
AttributeHandle *attributes,
UShort list_size)
- throw (FederateNotExecutionMember,
- FederateNotPublishing,
- ObjectAlreadyRegistered,
- ObjectClassNotDefined,
- ObjectClassNotPublished,
- SaveInProgress,
- RestoreInProgress,
+ throw (ObjectNotKnown,
+ FederationExecutionDoesNotExist,
RTIinternalError);
void destroyObject(Handle theHandle,
@@ -590,4 +585,4 @@
#endif // _CERTI_RTIG_FEDERATIONS_LIST_HH
-// $Id: FederationsList.hh,v 3.39 2008/02/27 16:38:27 rousse Exp $
+// $Id: FederationsList.hh,v 3.40 2008/02/28 14:47:59 rousse Exp $
Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- RTIG/RTIG_processing.cc 27 Feb 2008 16:38:27 -0000 3.54
+++ RTIG/RTIG_processing.cc 28 Feb 2008 14:47:59 -0000 3.55
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIG_processing.cc,v 3.54 2008/02/27 16:38:27 rousse Exp $
+// $Id: RTIG_processing.cc,v 3.55 2008/02/28 14:47:59 rousse Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -1360,23 +1360,42 @@
RTIG::processRequestObjectAttributeValueUpdate(Socket *link, NetworkMessage
*request)
{
NetworkMessage answer ;
-
+ Handle federateOwner ; // federate owner of the object
G.Out(pdGendoc,"enter RTIG::processRequestObjectAttributeValueUpdate");
G.Out(pdGendoc,"BEGIN ** REQUEST OBJECT ATTRIBUTE VALUE UPDATE **");
auditServer << "ObjID = " << request->object ;
// We have to do verifications about this object
- federations.requestAttribute(request->federation,
+ answer.exception = e_NO_EXCEPTION ;
+ try
+ {
+ federateOwner = federations.requestObjectOwner(request->federation,
request->federate,
request->object,
request->handleArray,
request->handleArraySize);
-
+ std::cout<<"processRequestObjectAttributeValueUpdate : Owner of object "
+ <<request->object<<" is federate "<<federateOwner<<std::endl;
+ }
+ catch (ObjectNotKnown e)
+ {
+ answer.exception = e_ObjectNotKnown ;
+ strcpy(answer.exceptionReason,e._reason) ;
+ }
+ catch (FederationExecutionDoesNotExist e)
+ {
+ answer.exception = e_FederationExecutionDoesNotExist ;
+ strcpy(answer.exceptionReason,e._reason) ;
+ }
+ catch (RTIinternalError e)
+ {
+ answer.exception = e_RTIinternalError ;
+ strcpy(answer.exceptionReason,e._reason) ;
+ }
answer.type = NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE;
answer.type = request->type ;
- answer.exception = e_NO_EXCEPTION ;
answer.federate = request->federate ;
answer.object = request->object ;
@@ -1387,4 +1406,4 @@
}} // namespace certi/rtig
-// $Id: RTIG_processing.cc,v 3.54 2008/02/27 16:38:27 rousse Exp $
+// $Id: RTIG_processing.cc,v 3.55 2008/02/28 14:47:59 rousse Exp $
Index: libCERTI/ObjectSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectSet.cc,v
retrieving revision 3.16
retrieving revision 3.17
diff -u -b -r3.16 -r3.17
--- libCERTI/ObjectSet.cc 31 Oct 2007 10:30:21 -0000 3.16
+++ libCERTI/ObjectSet.cc 28 Feb 2008 14:47:59 -0000 3.17
@@ -135,10 +135,11 @@
throw (ObjectAlreadyRegistered, ConcurrentAccessAttempted,
SaveInProgress, RestoreInProgress, RTIinternalError)
{
- std::map<ObjectHandle, Object *>::const_iterator i ;
- i = std::map<ObjectHandle, Object *>::find(the_object);
+ const_iterator i ;
+
+ i = find(the_object);
- if (i != std::map<ObjectHandle, Object *>::end()) {
+ if (i != end()) {
throw ObjectAlreadyRegistered("Object already in ObjectSet map.");
}
@@ -163,7 +164,7 @@
}
pair<ObjectHandle, Object *> tmp(the_object, object);
- std::map<ObjectHandle, Object *>::insert(tmp);
+ insert(tmp);
return object ;
}
@@ -430,7 +431,24 @@
}
// BUG: If except = 0, could use Multicast.
}
+// ----------------------------------------------------------------------------
+FederateHandle
+ObjectSet::requestObjectOwner(FederateHandle the_federate,
+ ObjectHandle the_object)
+ throw (ObjectNotKnown)
+{
+ const_iterator i ;
+ i = find(the_object);
+ if (i == end())
+ {
+ // Object not found !
+ throw ObjectNotKnown("Object not found in ObjectSet map.");
+ }
+
+ // Object found, return the owner
+ return ( i->second->getOwner()) ;
+}
} // namespace certi
-// $Id: ObjectSet.cc,v 3.16 2007/10/31 10:30:21 erk Exp $
+// $Id: ObjectSet.cc,v 3.17 2008/02/28 14:47:59 rousse Exp $
Index: libCERTI/ObjectSet.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectSet.hh,v
retrieving revision 3.9
retrieving revision 3.10
diff -u -b -r3.9 -r3.10
--- libCERTI/ObjectSet.hh 31 Oct 2007 10:30:21 -0000 3.9
+++ libCERTI/ObjectSet.hh 28 Feb 2008 14:47:59 -0000 3.10
@@ -79,6 +79,10 @@
FederateNotExecutionMember, ConcurrentAccessAttempted,
SaveInProgress, RestoreInProgress, RTIinternalError);
+ FederateHandle requestObjectOwner(FederateHandle the_federate,
+ ObjectHandle the_object)
+ throw (ObjectNotKnown);
+
void killFederate(FederateHandle) throw (RTIinternalError);
// Ownership Management.
Index: libCERTI/RootObject.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/RootObject.cc,v
retrieving revision 3.31
retrieving revision 3.32
diff -u -b -r3.31 -r3.32
--- libCERTI/RootObject.cc 5 Dec 2007 12:29:40 -0000 3.31
+++ libCERTI/RootObject.cc 28 Feb 2008 14:47:59 -0000 3.32
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RootObject.cc,v 3.31 2007/12/05 12:29:40 approx Exp $
+// $Id: RootObject.cc,v 3.32 2008/02/28 14:47:59 rousse Exp $
// ----------------------------------------------------------------------------
#include "Object.hh"
@@ -50,6 +50,7 @@
namespace certi {
static pdCDebug D("ROOTOBJECT", "(RootObject) ");
+static PrettyDebug G("GENDOC",__FILE__);
// ----------------------------------------------------------------------------
//! The SocketServer can be NULL on the RTIA.
@@ -329,7 +330,18 @@
{
return Interactions->getByHandle(the_class);
}
+// ----------------------------------------------------------------------------
+// requestObjectInstance
+FederateHandle
+RootObject::requestObjectOwner(FederateHandle theFederateHandle, ObjectHandle
theObject)
+ throw (ObjectNotKnown)
+{
+ G.Out(pdGendoc,"into RootObject::requestObjectOwner");
+
+ return(objects->requestObjectOwner(theFederateHandle, theObject));
+
+}
} // namespace certi
-// $Id: RootObject.cc,v 3.31 2007/12/05 12:29:40 approx Exp $
+// $Id: RootObject.cc,v 3.32 2008/02/28 14:47:59 rousse Exp $
Index: libCERTI/RootObject.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/RootObject.hh,v
retrieving revision 3.26
retrieving revision 3.27
diff -u -b -r3.26 -r3.27
--- libCERTI/RootObject.hh 5 Dec 2007 12:29:40 -0000 3.26
+++ libCERTI/RootObject.hh 28 Feb 2008 14:47:59 -0000 3.27
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RootObject.hh,v 3.26 2007/12/05 12:29:40 approx Exp $
+// $Id: RootObject.hh,v 3.27 2008/02/28 14:47:59 rousse Exp $
// ----------------------------------------------------------------------------
#ifndef LIBCERTI_ROOT_OBJECT
@@ -88,6 +88,9 @@
ObjectAlreadyRegistered,
RTIinternalError);
+ FederateHandle requestObjectOwner(FederateHandle theFederateHandle,
ObjectHandle theObject)
+ throw (ObjectNotKnown);
+
void deleteObjectInstance(FederateHandle, ObjectHandle,
FederationTime theTime, const char *)
throw (DeletePrivilegeNotHeld, ObjectNotKnown, RTIinternalError);
@@ -123,4 +126,4 @@
#endif // LIBCERTI_ROOT_OBJECT
-// $Id: RootObject.hh,v 3.26 2007/12/05 12:29:40 approx Exp $
+// $Id: RootObject.hh,v 3.27 2008/02/28 14:47:59 rousse Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- certi RTIG/Federation.cc RTIG/Federation.hh RTI...,
certi-cvs <=