[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi RTIA/ObjectManagement.cc RTIA/RTIA.hh RTI...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi RTIA/ObjectManagement.cc RTIA/RTIA.hh RTI... |
Date: |
Wed, 07 May 2008 09:55:02 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: ROUSSELOT <rousse> 08/05/07 09:55:02
Modified files:
RTIA : ObjectManagement.cc RTIA.hh RTIA_federate.cc
libCERTI : ObjectClassSet.cc
Log message:
Improvement of return exception NameNotFound during getObjectClassHandle
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.39&r2=3.40
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA.hh?cvsroot=certi&r1=3.12&r2=3.13
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.75&r2=3.76
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClassSet.cc?cvsroot=certi&r1=3.32&r2=3.33
Patches:
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.39
retrieving revision 3.40
diff -u -b -r3.39 -r3.40
--- RTIA/ObjectManagement.cc 2 May 2008 10:48:32 -0000 3.39
+++ RTIA/ObjectManagement.cc 7 May 2008 09:55:01 -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: ObjectManagement.cc,v 3.39 2008/05/02 10:48:32 erk Exp $
+// $Id: ObjectManagement.cc,v 3.40 2008/05/07 09:55:01 rousse Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -705,7 +705,19 @@
ObjectClassHandle
ObjectManagement::getObjectClassHandle(const char *theName)
{
- return rootObject->ObjectClasses->getObjectClassHandle(theName);
+ ObjectClassHandle handle ;
+ G.Out(pdGendoc,"enter ObjectManagement::getObjectClassHandle");
+ try {
+ handle = rootObject->ObjectClasses->getObjectClassHandle(theName);
+ G.Out(pdGendoc,"exit ObjectManagement::getObjectClassHandle");
+ return handle;
+ }
+ catch (NameNotFound &e) {
+ G.Out(pdGendoc,"exit ObjectManagement::getObjectClassHandle on
NameNotFound");
+ throw NameNotFound(theName);
+ }
+
+ //return rootObject->ObjectClasses->getObjectClassHandle(theName);
}
@@ -801,4 +813,4 @@
}} // namespace certi/rtia
-// $Id: ObjectManagement.cc,v 3.39 2008/05/02 10:48:32 erk Exp $
+// $Id: ObjectManagement.cc,v 3.40 2008/05/07 09:55:01 rousse Exp $
Index: RTIA/RTIA.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA.hh,v
retrieving revision 3.12
retrieving revision 3.13
diff -u -b -r3.12 -r3.13
--- RTIA/RTIA.hh 23 Apr 2008 07:36:01 -0000 3.12
+++ RTIA/RTIA.hh 7 May 2008 09:55:01 -0000 3.13
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIA.hh,v 3.12 2008/04/23 07:36:01 siron Exp $
+// $Id: RTIA.hh,v 3.13 2008/05/07 09:55:01 rousse Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIA_HH
@@ -66,7 +66,7 @@
void processFederateRequest(Message *);
void chooseFederateProcessing(Message *, Message &, TypeException &)
throw (CouldNotOpenFED,FederationExecutionAlreadyExists,ErrorReadingFED,
- FederateAlreadyExecutionMember);
+ FederateAlreadyExecutionMember,SaveInProgress,RestoreInProgress);
void processOngoingTick();
};
@@ -74,4 +74,4 @@
#endif // _CERTI_RTIA_HH
-// $Id: RTIA.hh,v 3.12 2008/04/23 07:36:01 siron Exp $
+// $Id: RTIA.hh,v 3.13 2008/05/07 09:55:01 rousse Exp $
Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.75
retrieving revision 3.76
diff -u -b -r3.75 -r3.76
--- RTIA/RTIA_federate.cc 5 May 2008 09:47:20 -0000 3.75
+++ RTIA/RTIA_federate.cc 7 May 2008 09:55:01 -0000 3.76
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIA_federate.cc,v 3.75 2008/05/05 09:47:20 erk Exp $
+// $Id: RTIA_federate.cc,v 3.76 2008/05/07 09:55:01 rousse Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -114,11 +114,12 @@
void
RTIA::chooseFederateProcessing(Message *req, Message &rep, TypeException &e)
throw (CouldNotOpenFED,FederationExecutionAlreadyExists,ErrorReadingFED,
- FederateAlreadyExecutionMember)
+ FederateAlreadyExecutionMember,SaveInProgress,RestoreInProgress)
{
G.Out(pdGendoc,"enter RTIA::chooseFederateProcessing for type =
%d",req->type);
// Verify not in saving or restoring state.
+ // May throw SaveInProgress or RestoreInProgress
saveAndRestoreStatus(req->type);
e = e_NO_EXCEPTION ;
@@ -756,11 +757,18 @@
e = e_UnimplementedService ;
break ;
+ // May throw NameNotFound
+ // Exception catched and stored in rep Message for answer
case Message::GET_OBJECT_CLASS_HANDLE:
D.Out(pdTrace,
"Receiving Message from Federate, type GetObjectClassHandle.");
-
+ try {
rep.setObjectClass(om->getObjectClassHandle(req->getName()));
+ }
+ catch (RTI::Exception &egoch)
+ {
+
rep.setException(static_cast<TypeException>(egoch.getType()),egoch._reason);
+ }
break ;
case Message::GET_OBJECT_CLASS_NAME:
@@ -1076,7 +1084,7 @@
try {
TypeException exc ;
chooseFederateProcessing(req, rep, exc);
- if ( exc != e_RTIinternalError )
+ if ( exc != e_RTIinternalError && exc != e_NO_EXCEPTION)
rep.setException(exc);
}
catch (ArrayIndexOutOfBounds &e) {
@@ -1416,9 +1424,9 @@
comm->sendUN(&rep);
D.Out(pdDebug, "Reply send to Unix socket.");
}
-
+ G.Out(pdGendoc,"exit RTIA::processFederateRequest");
}
}} // namespace certi/rtia
-// $Id: RTIA_federate.cc,v 3.75 2008/05/05 09:47:20 erk Exp $
+// $Id: RTIA_federate.cc,v 3.76 2008/05/07 09:55:01 rousse Exp $
Index: libCERTI/ObjectClassSet.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClassSet.cc,v
retrieving revision 3.32
retrieving revision 3.33
diff -u -b -r3.32 -r3.33
--- libCERTI/ObjectClassSet.cc 26 Apr 2008 14:59:41 -0000 3.32
+++ libCERTI/ObjectClassSet.cc 7 May 2008 09:55:02 -0000 3.33
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: ObjectClassSet.cc,v 3.32 2008/04/26 14:59:41 erk Exp $
+// $Id: ObjectClassSet.cc,v 3.33 2008/05/07 09:55:02 rousse Exp $
// ----------------------------------------------------------------------------
// Project
@@ -44,7 +44,7 @@
namespace certi {
static PrettyDebug D("OBJECTCLASSSET", __FILE__);
-
+static PrettyDebug G("GENDOC",__FILE__) ;
// ----------------------------------------------------------------------------
//! The class is not allocated, only the pointer is memorized.
void
@@ -318,6 +318,8 @@
ObjectClassSet::getObjectClassHandle(std::string class_name) const
throw (NameNotFound)
{
+ G.Out(pdGendoc,"enter ObjectClassSet::getObjectClassHandle");
+
std::string currentName;
std::string remainingName;
ObjectClassHandle currentHandle;
@@ -360,8 +362,10 @@
iter = currentClassSet->OCFromName.find(remainingName);
if (iter != currentClassSet->OCFromName.end()) {
+ G.Out(pdGendoc,"exit ObjectClassSet::getObjectClassHandle");
return iter->second->getHandle();
} else {
+ G.Out(pdGendoc,"exit ObjectClassSet::getObjectClassHandle on
NameNotFound");
throw NameNotFound(class_name.c_str());
}
}
@@ -825,4 +829,4 @@
} // namespace certi
-// $Id: ObjectClassSet.cc,v 3.32 2008/04/26 14:59:41 erk Exp $
+// $Id: ObjectClassSet.cc,v 3.33 2008/05/07 09:55:02 rousse Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi RTIA/ObjectManagement.cc RTIA/RTIA.hh RTI...,
certi-cvs <=