[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi RTIG/RTIG.hh RTIG/RTIG.cc RTIG/RTIG_proce...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi RTIG/RTIG.hh RTIG/RTIG.cc RTIG/RTIG_proce... |
Date: |
Sat, 02 Oct 2010 13:20:42 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 10/10/02 13:20:42
Modified files:
RTIG : RTIG.hh RTIG.cc RTIG_processing.cc
FederationsList.cc Federation.hh
FederationsList.hh Federation.cc
libCERTI : ObjectClass.hh
RTIA : ObjectManagement.cc ObjectManagement.hh
RTIA_federate.cc
Log message:
Merge patch from Michael RAAB.
This is the implementation of:
task #8387, requestClassAttributeValueUpdate
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.hh?cvsroot=certi&r1=3.36&r2=3.37
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.cc?cvsroot=certi&r1=3.66&r2=3.67
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.108&r2=3.109
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.cc?cvsroot=certi&r1=3.72&r2=3.73
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.hh?cvsroot=certi&r1=3.68&r2=3.69
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/FederationsList.hh?cvsroot=certi&r1=3.56&r2=3.57
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.135&r2=3.136
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/ObjectClass.hh?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.cc?cvsroot=certi&r1=3.70&r2=3.71
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/ObjectManagement.hh?cvsroot=certi&r1=3.35&r2=3.36
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_federate.cc?cvsroot=certi&r1=3.110&r2=3.111
Patches:
Index: RTIG/RTIG.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.hh,v
retrieving revision 3.36
retrieving revision 3.37
diff -u -b -r3.36 -r3.37
--- RTIG/RTIG.hh 10 Aug 2010 16:34:09 -0000 3.36
+++ RTIG/RTIG.hh 2 Oct 2010 13:20:37 -0000 3.37
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIG.hh,v 3.36 2010/08/10 16:34:09 erk Exp $
+// $Id: RTIG.hh,v 3.37 2010/10/02 13:20:37 erk Exp $
// ----------------------------------------------------------------------------
#ifndef CERTI_RTIG_HH
@@ -123,6 +123,7 @@
void processUnsubscribeInteractionWR(Socket*,
NM_DDM_Unsubscribe_Interaction*);
void processRegisterObjectWithRegion(Socket*, NM_DDM_Register_Object*);
void processRequestObjectAttributeValueUpdate(Socket*,
NM_Request_Object_Attribute_Value_Update*);
+ void processRequestClassAttributeValueUpdate(Socket*,
NM_Request_Class_Attribute_Value_Update*);
private:
int tcpPort ;
@@ -144,4 +145,4 @@
#endif // CERTI_RTIG_HH
-// $Id: RTIG.hh,v 3.36 2010/08/10 16:34:09 erk Exp $
+// $Id: RTIG.hh,v 3.37 2010/10/02 13:20:37 erk Exp $
Index: RTIG/RTIG.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.cc,v
retrieving revision 3.66
retrieving revision 3.67
diff -u -b -r3.66 -r3.67
--- RTIG/RTIG.cc 10 Aug 2010 16:34:09 -0000 3.66
+++ RTIG/RTIG.cc 2 Oct 2010 13:20:39 -0000 3.67
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIG.cc,v 3.66 2010/08/10 16:34:09 erk Exp $
+// $Id: RTIG.cc,v 3.67 2010/10/02 13:20:39 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -201,11 +201,17 @@
break ;
case NetworkMessage::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE:
- Debug(D, pdTrace) << "requestAttributeValueUpdate" << endl ;
+ D.Out(pdTrace, "RequestAttributeValueUpdate.)");
auditServer.setLevel(6);
processRequestObjectAttributeValueUpdate(link,
static_cast<NM_Request_Object_Attribute_Value_Update*>(msg));
break ;
+ case NetworkMessage::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE:
+ D.Out(pdTrace, "RequestClassAttributeValueUpdate.)");
+ auditServer.setLevel(6);
+ processRequestClassAttributeValueUpdate(link,
static_cast<NM_Request_Class_Attribute_Value_Update*>(msg));
+ break ;
+
case NetworkMessage::SET_TIME_REGULATING:
D.Out(pdTrace, "SetTimeRegulating du federe %u(date=%f).",
msg->getFederate(), msg->getDate().getTime());
@@ -1042,4 +1048,4 @@
}} // namespace certi/rtig
-// $Id: RTIG.cc,v 3.66 2010/08/10 16:34:09 erk Exp $
+// $Id: RTIG.cc,v 3.67 2010/10/02 13:20:39 erk Exp $
Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.108
retrieving revision 3.109
diff -u -b -r3.108 -r3.109
--- RTIG/RTIG_processing.cc 11 Aug 2010 16:45:14 -0000 3.108
+++ RTIG/RTIG_processing.cc 2 Oct 2010 13:20:41 -0000 3.109
@@ -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.108 2010/08/11 16:45:14 erk Exp $
+// $Id: RTIG_processing.cc,v 3.109 2010/10/02 13:20:41 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -1524,6 +1524,47 @@
G.Out(pdGendoc,"END ** REQUEST OBJECT ATTRIBUTE VALUE UPDATE **");
}
+// ----------------------------------------------------------------------------
+// processRequestClassAttributeValueUpdate
+void
+RTIG::processRequestClassAttributeValueUpdate(Socket *link,
NM_Request_Class_Attribute_Value_Update *request)
+{
+ NM_Request_Class_Attribute_Value_Update answer;
+
+ G.Out(pdGendoc,"enter RTIG::processRequestClassAttributeValueUpdate");
+ G.Out(pdGendoc,"BEGIN ** REQUEST CLASS ATTRIBUTE VALUE UPDATE **");
+
+ answer.setException(e_NO_EXCEPTION);
+ try
+ {
+
federations.requestClassAttributeValueUpdate(request->getFederation(),
+ request->getFederate(),
+ request->getObjectClass(),
+ request->getAttributes(),
+ request->getAttributesSize());
+ }
+ catch (ObjectClassNotDefined e)
+ {
+ answer.setException(e_ObjectClassNotDefined,e._reason);
+ }
+ catch (FederationExecutionDoesNotExist e)
+ {
+
answer.setException(e_FederationExecutionDoesNotExist,e._reason);
+ }
+ catch (RTIinternalError e)
+ {
+ answer.setException(e_RTIinternalError,e._reason);
+ }
+
+ answer.setFederate(request->getFederate());
+ answer.setObjectClass(request->getObjectClass());
+
+ answer.send(link,NM_msgBufSend); // Send answer to RTIA
+
+ G.Out(pdGendoc,"exit RTIG::processRequestClassAttributeValueUpdate");
+ G.Out(pdGendoc,"END ** REQUEST CLASS ATTRIBUTE VALUE UPDATE **");
+}
+
}} // namespace certi/rtig
-// $Id: RTIG_processing.cc,v 3.108 2010/08/11 16:45:14 erk Exp $
+// $Id: RTIG_processing.cc,v 3.109 2010/10/02 13:20:41 erk Exp $
Index: RTIG/FederationsList.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.cc,v
retrieving revision 3.72
retrieving revision 3.73
diff -u -b -r3.72 -r3.73
--- RTIG/FederationsList.cc 10 Aug 2010 16:34:09 -0000 3.72
+++ RTIG/FederationsList.cc 2 Oct 2010 13:20:41 -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: FederationsList.cc,v 3.72 2010/08/10 16:34:09 erk Exp $
+// $Id: FederationsList.cc,v 3.73 2010/10/02 13:20:41 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -1393,6 +1393,25 @@
return federation->requestObjectOwner(federate, id, attributes, list_size);
}
+// ----------------------------------------------------------------------------
+// requestClassAttribute
+void
+FederationsList::requestClassAttributeValueUpdate(Handle federationHandle,
+ FederateHandle
federate,
+
ObjectClassHandle classHandle,
+ const
std::vector <AttributeHandle> &attributes,
+ uint32_t
list_size)
+ throw (ObjectClassNotDefined,
+ FederationExecutionDoesNotExist,
+ RTIinternalError)
+{
+ G.Out(pdGendoc,"into
FederationsList::requestClassAttributeValueUpdate");
+
+ Federation *federation = searchFederation(federationHandle);
+
+ return federation->requestClassAttributeValueUpdate(federate,
classHandle, attributes, list_size);
+}
+
void
FederationsList::reserveObjectInstanceName(Handle federationHandle,
FederateHandle the_federate,
@@ -1431,5 +1450,5 @@
}} // certi::rtig
-// EOF $Id: FederationsList.cc,v 3.72 2010/08/10 16:34:09 erk Exp $
+// EOF $Id: FederationsList.cc,v 3.73 2010/10/02 13:20:41 erk Exp $
Index: RTIG/Federation.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.hh,v
retrieving revision 3.68
retrieving revision 3.69
diff -u -b -r3.68 -r3.69
--- RTIG/Federation.hh 18 Aug 2010 15:33:18 -0000 3.68
+++ RTIG/Federation.hh 2 Oct 2010 13:20:42 -0000 3.69
@@ -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.68 2010/08/18 15:33:18 erk Exp $
+// $Id: Federation.hh,v 3.69 2010/10/02 13:20:42 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIG_FEDERATION_HH
@@ -305,6 +305,13 @@
uint16_t theListSize)
throw (ObjectNotKnown);
+ void requestClassAttributeValueUpdate(FederateHandle theFederateHandle,
+
ObjectClassHandle theClassHandle,
+ const
std::vector <AttributeHandle> &theAttributeList,
+ uint32_t
theListSize)
+ throw ( ObjectClassNotDefined,
+ RTIinternalError);
+
/**
* Subscribes attributes to an object class. After subscription, attribute
* publishers are notified by the federate service
@@ -716,4 +723,4 @@
#endif // _CERTI_RTIG_FEDERATION_HH
-// $Id: Federation.hh,v 3.68 2010/08/18 15:33:18 erk Exp $
+// $Id: Federation.hh,v 3.69 2010/10/02 13:20:42 erk Exp $
Index: RTIG/FederationsList.hh
===================================================================
RCS file: /sources/certi/certi/RTIG/FederationsList.hh,v
retrieving revision 3.56
retrieving revision 3.57
diff -u -b -r3.56 -r3.57
--- RTIG/FederationsList.hh 10 Aug 2010 16:34:09 -0000 3.56
+++ RTIG/FederationsList.hh 2 Oct 2010 13:20:42 -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.hh,v 3.56 2010/08/10 16:34:09 erk Exp $
+// $Id: FederationsList.hh,v 3.57 2010/10/02 13:20:42 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIG_FEDERATIONS_LIST_HH
@@ -350,6 +350,15 @@
FederationExecutionDoesNotExist,
RTIinternalError);
+ void requestClassAttributeValueUpdate(Handle theHandle,
+ FederateHandle
federate,
+
ObjectClassHandle classHandle,
+ const
std::vector <AttributeHandle> &attributes,
+ uint32_t
list_size)
+ throw (ObjectClassNotDefined,
+ FederationExecutionDoesNotExist,
+ RTIinternalError);
+
void destroyObject(Handle theHandle,
FederateHandle theFederateHandle,
ObjectHandle theObjectHandle,
@@ -690,4 +699,4 @@
#endif // _CERTI_RTIG_FEDERATIONS_LIST_HH
-// $Id: FederationsList.hh,v 3.56 2010/08/10 16:34:09 erk Exp $
+// $Id: FederationsList.hh,v 3.57 2010/10/02 13:20:42 erk Exp $
Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.135
retrieving revision 3.136
diff -u -b -r3.135 -r3.136
--- RTIG/Federation.cc 19 Aug 2010 10:50:22 -0000 3.135
+++ RTIG/Federation.cc 2 Oct 2010 13:20:42 -0000 3.136
@@ -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.135 2010/08/19 10:50:22 erk Exp $
+// $Id: Federation.cc,v 3.136 2010/10/02 13:20:42 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -2687,7 +2687,57 @@
}
+void
+Federation::requestClassAttributeValueUpdate(FederateHandle theFederateHandle,
+
ObjectClassHandle theClassHandle,
+ const
std::vector <AttributeHandle> &theAttributeList,
+ uint32_t
theListSize)
+ throw ( ObjectClassNotDefined,
+ RTIinternalError)
+{
+ G.Out(pdGendoc,"enter Federation::requestClassAttributeValueUpdate");
+
+ // get object class
+ ObjectClass* oClass = root->getObjectClass(theClassHandle);
+ if(!oClass) {
+ throw ObjectClassNotDefined(certi::stringize() <<
"ObjectClassHandle <"<<theClassHandle<<"> is unknown.");
+ }
+
+ // send PAVU for all objects of this class
+ ObjectClass::HandleObjectMap instances = oClass->getClassInstances();
+ for( ObjectClass::HandleObjectMap::const_iterator it =
+ instances.begin(); it != instances.end(); ++it )
+ {
+ FederateHandle theOwnerHandle = it->second->getOwner();
+
+ NM_Provide_Attribute_Value_Update mess ;
+
+ // Send a PROVIDE_ATTRIBUTE_VALUE_UPDATE to the owner
+ mess.setFederate(theFederateHandle);
+ mess.setObject(it->first);
+ mess.setAttributesSize(theListSize) ;
+ for (uint32_t i = 0 ; i < theListSize ; ++i)
+ {
+ mess.setAttributes(theAttributeList[i],i) ;
+ }
+
+ // JYR : BUG if getSocketLink return NULL means
+ // owner federate has been killed and so rtig don't crash
+ // better development needed
+ if ( server->getSocketLink(theOwnerHandle) == NULL )
+ {
+ throw RTIinternalError ( "Owner federate killed" ) ;
+ }
+
+ mess.send(server->getSocketLink(theOwnerHandle),NM_msgBufSend);
+
+ G.Out(pdGendoc," requestClassAttributeValueUpdate
===> write PAVU to RTIA %d"
+ ,theOwnerHandle);
+ G.Out(pdGendoc,"exit
Federation::requestClassAttributeValueUpdate");
+ }
+}
+
}} // namespace certi/rtig
-// $Id: Federation.cc,v 3.135 2010/08/19 10:50:22 erk Exp $
+// $Id: Federation.cc,v 3.136 2010/10/02 13:20:42 erk Exp $
Index: libCERTI/ObjectClass.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/ObjectClass.hh,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- libCERTI/ObjectClass.hh 28 Mar 2010 16:08:33 -0000 3.54
+++ libCERTI/ObjectClass.hh 2 Oct 2010 13:20:42 -0000 3.55
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: ObjectClass.hh,v 3.54 2010/03/28 16:08:33 erk Exp $
+// $Id: ObjectClass.hh,v 3.55 2010/10/02 13:20:42 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_OBJECT_CLASS_HH
@@ -274,6 +274,8 @@
//! This Object help to find a TCPLink from a Federate Handle.
SecurityServer *server ;
+ const HandleObjectMap& getClassInstances(void) const
+ { return _handleObjectMap; }
private:
/*
* private default constructor with no code
@@ -309,7 +311,12 @@
// Attributes
const ObjectClassHandle handle ;
- FederateHandle maxSubscriberHandle ; //! greatest subscriber handle
+
+ /**
+ * greatest subscriber handle
+ */
+ FederateHandle maxSubscriberHandle ;
+
/**
* The security level ID attached to this object class.
* default level for non inherited attributes.
@@ -331,10 +338,12 @@
* 0 if they aren't any.
*/
ObjectClassHandle superClass;
+
/**
* The set of object classes sub classes of this object class
*/
ObjectClassSet* subClasses;
+
/* The message buffer used to send Network messages */
libhla::MessageBuffer NM_msgBufSend;
};
@@ -343,4 +352,4 @@
#endif // _CERTI_OBJECT_CLASS_HH
-// $Id: ObjectClass.hh,v 3.54 2010/03/28 16:08:33 erk Exp $
+// $Id: ObjectClass.hh,v 3.55 2010/10/02 13:20:42 erk Exp $
Index: RTIA/ObjectManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.cc,v
retrieving revision 3.70
retrieving revision 3.71
diff -u -b -r3.70 -r3.71
--- RTIA/ObjectManagement.cc 31 May 2010 09:33:26 -0000 3.70
+++ RTIA/ObjectManagement.cc 2 Oct 2010 13:20:42 -0000 3.71
@@ -688,6 +688,35 @@
} /* end of requestObjectAttributeValueUpdate */
+// ----------------------------------------------------------------------------
+//! requestClassAttributeValueUpdate
+void
+ObjectManagement::requestClassAttributeValueUpdate(ObjectClassHandle theClass,
+ const std::vector <AttributeHandle> &attribs,
+ uint32_t attribArraySize,
+ TypeException &e)
+{
+ NM_Request_Class_Attribute_Value_Update req;
+
+ G.Out(pdGendoc,"enter
ObjectManagement::requestClassAttributeValueUpdate");
+
+ req.setObjectClass(theClass);
+ req.setFederation(fm->_numero_federation);
+ req.setFederate(fm->federate);
+ req.setAttributesSize(attribArraySize);
+
+ for (uint32_t i = 0 ; i < attribArraySize ; ++i) {
+ req.setAttributes(attribs[i],i) ;
+ }
+
+ comm->sendMessage(&req);
+ std::auto_ptr<NetworkMessage>
rep(comm->waitMessage(NetworkMessage::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE,
+ req.getFederate()));
+ e = rep->getException() ;
+
+ G.Out(pdGendoc,"exit
ObjectManagement::requestClassAttributeValueUpdate");
+
+} /* end of requestClassAttributeValueUpdate */
// --------------------------------------
// -- 4.15 provideAttributeValueUpdate --
Index: RTIA/ObjectManagement.hh
===================================================================
RCS file: /sources/certi/certi/RTIA/ObjectManagement.hh,v
retrieving revision 3.35
retrieving revision 3.36
diff -u -b -r3.35 -r3.36
--- RTIA/ObjectManagement.hh 31 May 2010 09:33:26 -0000 3.35
+++ RTIA/ObjectManagement.hh 2 Oct 2010 13:20:42 -0000 3.36
@@ -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.35 2010/05/31 09:33:26 erk Exp $
+// $Id: ObjectManagement.hh,v 3.36 2010/10/02 13:20:42 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _CERTI_RTIA_OM
@@ -177,6 +177,11 @@
uint32_t attribArraySize,
TypeException &e);
+ void requestClassAttributeValueUpdate(ObjectClassHandle theClass,
+
const std::vector <AttributeHandle> &attribs,
+
uint32_t attribArraySize,
+
TypeException &e);
+
void provideAttributeValueUpdate(ObjectHandle theObject,
const std::vector <AttributeHandle>
&theAttributes,
uint16_t attribArraySize,
@@ -303,4 +308,4 @@
#endif // _CERTI_RTIA_OM
-// $Id: ObjectManagement.hh,v 3.35 2010/05/31 09:33:26 erk Exp $
+// $Id: ObjectManagement.hh,v 3.36 2010/10/02 13:20:42 erk Exp $
Index: RTIA/RTIA_federate.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_federate.cc,v
retrieving revision 3.110
retrieving revision 3.111
diff -u -b -r3.110 -r3.111
--- RTIA/RTIA_federate.cc 11 Aug 2010 16:45:14 -0000 3.110
+++ RTIA/RTIA_federate.cc 2 Oct 2010 13:20:42 -0000 3.111
@@ -580,9 +580,15 @@
break ;
case Message::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE: {
- std::cout<<"request class attribute value update not yet
implemented in chooseFederateProcessing"
- <<std::endl;
- e = e_UnimplementedService ;
+ M_Request_Class_Attribute_Value_Update* RCAVUq;
+ RCAVUq = static_cast<M_Request_Class_Attribute_Value_Update
*>(req);
+
+ D.Out(pdTrace,"Receiving Message from Federate, type "
+ "RequestClassAttributeValueUpadate.");
+ om->requestClassAttributeValueUpdate(RCAVUq->getObjectClass(),
+ RCAVUq->getAttributes(),
+ RCAVUq->getAttributesSize(),
+ e);
}
break ;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi RTIG/RTIG.hh RTIG/RTIG.cc RTIG/RTIG_proce...,
certi-cvs <=