[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi libRTI/RTItypesImp.cc libRTI/RTItypes.cc ...
From: |
certi-cvs |
Subject: |
[certi-cvs] certi libRTI/RTItypesImp.cc libRTI/RTItypes.cc ... |
Date: |
Thu, 02 Apr 2009 19:58:12 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Eric NOULARD <erk> 09/04/02 19:58:12
Modified files:
libRTI : RTItypesImp.cc RTItypes.cc CMakeLists.txt
RTItypesImp.hh RTIambPrivateRefs.cc
RTIambassador.cc RTIambPrivateRefs.hh
libCERTI : PrettyDebug.hh LBTS.cc Message.cc LBTS.hh
GAV.hh GAV.cc CMakeLists.txt SocketMC.cc
Message.hh Message_W.cc NetworkMessage_RW.cc
NetworkMessage.hh FedTime.cc
RTIG : Federation.cc RTIG_processing.cc RTIG.cc
libHLA : HLAbuffer.hh
include : RTItypes.hh fedtime.hh certi.hh baseTypes.hh
RTI.hh
RTIA : RTIA_network.cc TimeManagement.cc
Added files:
libRTI : RTIfedTime.cc
libCERTI : FedTimeD.hh
. : .project .cproject
Log message:
Merge-in
patch for bug #24930
WIndows build broken.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTItypesImp.cc?cvsroot=certi&r1=3.1&r2=3.2
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTItypes.cc?cvsroot=certi&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/CMakeLists.txt?cvsroot=certi&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTItypesImp.hh?cvsroot=certi&r1=3.1&r2=3.2
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambPrivateRefs.cc?cvsroot=certi&r1=3.16&r2=3.17
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambassador.cc?cvsroot=certi&r1=3.101&r2=3.102
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIambPrivateRefs.hh?cvsroot=certi&r1=3.7&r2=3.8
http://cvs.savannah.gnu.org/viewcvs/certi/libRTI/RTIfedTime.cc?cvsroot=certi&rev=3.1
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/PrettyDebug.hh?cvsroot=certi&r1=4.4&r2=4.5
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/LBTS.cc?cvsroot=certi&r1=3.12&r2=3.13
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message.cc?cvsroot=certi&r1=3.62&r2=3.63
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/LBTS.hh?cvsroot=certi&r1=3.8&r2=3.9
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/GAV.hh?cvsroot=certi&r1=3.13&r2=3.14
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/GAV.cc?cvsroot=certi&r1=3.18&r2=3.19
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/CMakeLists.txt?cvsroot=certi&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketMC.cc?cvsroot=certi&r1=3.16&r2=3.17
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message.hh?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/Message_W.cc?cvsroot=certi&r1=3.39&r2=3.40
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage_RW.cc?cvsroot=certi&r1=3.52&r2=3.53
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/NetworkMessage.hh?cvsroot=certi&r1=3.44&r2=3.45
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/FedTime.cc?cvsroot=certi&r1=3.15&r2=3.16
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/FedTimeD.hh?cvsroot=certi&rev=4.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/Federation.cc?cvsroot=certi&r1=3.103&r2=3.104
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG_processing.cc?cvsroot=certi&r1=3.80&r2=3.81
http://cvs.savannah.gnu.org/viewcvs/certi/RTIG/RTIG.cc?cvsroot=certi&r1=3.54&r2=3.55
http://cvs.savannah.gnu.org/viewcvs/certi/libHLA/HLAbuffer.hh?cvsroot=certi&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTItypes.hh?cvsroot=certi&r1=3.19&r2=3.20
http://cvs.savannah.gnu.org/viewcvs/certi/include/fedtime.hh?cvsroot=certi&r1=3.12&r2=3.13
http://cvs.savannah.gnu.org/viewcvs/certi/include/certi.hh?cvsroot=certi&r1=3.39&r2=3.40
http://cvs.savannah.gnu.org/viewcvs/certi/include/baseTypes.hh?cvsroot=certi&r1=3.13&r2=3.14
http://cvs.savannah.gnu.org/viewcvs/certi/include/RTI.hh?cvsroot=certi&r1=3.15&r2=3.16
http://cvs.savannah.gnu.org/viewcvs/certi/.project?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/.cproject?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/RTIA_network.cc?cvsroot=certi&r1=3.30&r2=3.31
http://cvs.savannah.gnu.org/viewcvs/certi/RTIA/TimeManagement.cc?cvsroot=certi&r1=3.45&r2=3.46
Patches:
Index: libRTI/RTItypesImp.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTItypesImp.cc,v
retrieving revision 3.1
retrieving revision 3.2
diff -u -b -r3.1 -r3.2
--- libRTI/RTItypesImp.cc 7 Dec 2008 20:16:17 -0000 3.1
+++ libRTI/RTItypesImp.cc 2 Apr 2009 19:58:05 -0000 3.2
@@ -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: RTItypesImp.cc,v 3.1 2008/12/07 20:16:17 gotthardp Exp $
+// $Id: RTItypesImp.cc,v 3.2 2009/04/02 19:58:05 erk Exp $
// ----------------------------------------------------------------------------
#include "certi.hh"
@@ -30,12 +30,9 @@
using namespace certi ;
-namespace {
-
static PrettyDebug D("LIBRTI", __FILE__);
static PrettyDebug G("GENDOC",__FILE__);
-}
// ----------------------------------------------------------------------------
AttributeHandleValuePairSetImp::AttributeHandleValuePairSetImp(ULong size)
@@ -539,4 +536,4 @@
throw RTI::ArrayIndexOutOfBounds("Extent index above limit");
}
-// $Id: RTItypesImp.cc,v 3.1 2008/12/07 20:16:17 gotthardp Exp $
+// $Id: RTItypesImp.cc,v 3.2 2009/04/02 19:58:05 erk Exp $
Index: libRTI/RTItypes.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTItypes.cc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- libRTI/RTItypes.cc 7 Dec 2008 20:16:16 -0000 1.2
+++ libRTI/RTItypes.cc 2 Apr 2009 19:58:06 -0000 1.3
@@ -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: RTItypes.cc,v 1.2 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTItypes.cc,v 1.3 2009/04/02 19:58:06 erk Exp $
// ----------------------------------------------------------------------------
#include "RTItypesImp.hh"
@@ -27,15 +27,6 @@
#include <cstdlib>
#include <cstring>
-using namespace certi ;
-
-namespace {
-
-static PrettyDebug D("LIBRTI", __FILE__);
-static PrettyDebug G("GENDOC",__FILE__);
-
-}
-
// static members for HLA Exceptions
const char *RTI::ArrayIndexOutOfBounds::_ex = "ArrayIndexOutOfBounds" ;
const char *RTI::AsynchronousDeliveryAlreadyDisabled::_ex =
"AsynchronousDeliveryAlreadyDisabled" ;
@@ -198,7 +189,7 @@
long RTI::ValueCountExceeded::type = certi::e_ValueCountExceeded ;
long RTI::ValueLengthExceeded::type = certi::e_ValueLengthExceeded ;
-static PrettyDebug PD_Exception("RTI_EXCEPTION",__FILE__);
+static PrettyDebug PD_RTIException("RTI_EXCEPTION",__FILE__);
RTI::Exception::~Exception()
{
@@ -255,7 +246,7 @@
msg << std::endl;
msg << std::flush;
- PD_Exception[pdExcept] << msg.str().c_str();
+ PD_RTIException[pdExcept] << msg.str().c_str();
return msg.str();
}
@@ -273,4 +264,4 @@
return os<<(*ex);
}
-// $Id: RTItypes.cc,v 1.2 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTItypes.cc,v 1.3 2009/04/02 19:58:06 erk Exp $
Index: libRTI/CMakeLists.txt
===================================================================
RCS file: /sources/certi/certi/libRTI/CMakeLists.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- libRTI/CMakeLists.txt 7 Dec 2008 20:16:16 -0000 1.10
+++ libRTI/CMakeLists.txt 2 Apr 2009 19:58:06 -0000 1.11
@@ -4,8 +4,10 @@
SET(RTI_LIB_SRCS
RTIambassador.cc
RTIambPrivateRefs.cc
+ RTIambPrivateRefs.hh
RTItypes.cc
RTItypesImp.cc
+ RTItypesImp.hh
)
SET(RTI_LIB_INCLUDE
@@ -21,7 +23,7 @@
#SOURCE_GROUP("RTI\\Header" FILES ${RTI_LIB_INCLUDE})
ADD_LIBRARY(RTI ${RTI_LIB_SRCS} ${RTI_LIB_INCLUDE})
-TARGET_LINK_LIBRARIES(RTI CERTI)
+TARGET_LINK_LIBRARIES(RTI CERTI FedTime)
SET_TARGET_PROPERTIES(RTI PROPERTIES OUTPUT_NAME "RTI-NG")
SET_TARGET_PROPERTIES(RTI PROPERTIES VERSION 1.0.0 SOVERSION 1)
@@ -31,7 +33,44 @@
DESTINATION lib)
ENDIF (MINGW)
-INSTALL(TARGETS RTI
+##################################################################
+# Lib FedTime
+# A replacement lib FedTime may be provided by the user
+# CERTI is provided one. The lib FedTime depends on libRTI
+# since it inherits from the RTI::FedTime abstract class.
+##################################################################
+IF(CMAKE_COMPILER_IS_GNUCC)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long")
+ENDIF(CMAKE_COMPILER_IS_GNUCC)
+IF(CMAKE_COMPILER_IS_GNUCXX)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-long-long")
+ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+
+INCLUDE_DIRECTORIES(../libHLA)
+SET(FEDTIME_SRCS
+ RTIfedTime.cc
+ ${CMAKE_SOURCE_DIR}/include/fedtime.hh
+)
+
+SOURCE_GROUP("Source Files\\FedTime" FILES ${FEDTIME_SRCS})
+
+ADD_LIBRARY(FedTime
+ ${FEDTIME_SRCS}
+)
+
+TARGET_LINK_LIBRARIES(FedTime)
+
+SET_TARGET_PROPERTIES(FedTime PROPERTIES PROJECT_LABEL LibFedTime)
+IF (MINGW)
+ SET_TARGET_PROPERTIES(FedTime PROPERTIES LINK_FLAGS
"-Wl,--output-def,${LIBRARY_OUTPUT_PATH}/libFedTime.def")
+ INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/libFedTime.def
+ DESTINATION lib)
+ENDIF (MINGW)
+
+SET_TARGET_PROPERTIES(FedTime PROPERTIES VERSION 1.0.0 SOVERSION 1)
+
+# Install rules for both libRTI-NG and libFedTime
+INSTALL(TARGETS RTI FedTime
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
Index: libRTI/RTItypesImp.hh
===================================================================
RCS file: /sources/certi/certi/libRTI/RTItypesImp.hh,v
retrieving revision 3.1
retrieving revision 3.2
diff -u -b -r3.1 -r3.2
--- libRTI/RTItypesImp.hh 7 Dec 2008 20:16:17 -0000 3.1
+++ libRTI/RTItypesImp.hh 2 Apr 2009 19:58:06 -0000 3.2
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTItypesImp.hh,v 3.1 2008/12/07 20:16:17 gotthardp Exp $
+// $Id: RTItypesImp.hh,v 3.2 2009/04/02 19:58:06 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _RTI_TYPESIMP_HH
@@ -31,7 +31,7 @@
namespace certi {
template<class I>
-struct cast
+struct certi_cast
{
template<class R>
const I& operator()(const R& imp)
@@ -44,6 +44,18 @@
throw RTI::RTIinternalError("Incompatible object on input.");
}
}
+
+ template<class R>
+ I& operator()(R& imp)
+ {
+ try {
+ return dynamic_cast<I&>(imp);
+ }
+ catch (...)
+ {
+ throw RTI::RTIinternalError("Incompatible object on input.");
+ }
+ }
};
typedef std::pair<AttributeHandle, AttributeValue_t>
AttributeHandleValuePair_t;
@@ -251,4 +263,4 @@
#endif // _RTI_TYPESIMP_HH
-// $Id: RTItypesImp.hh,v 3.1 2008/12/07 20:16:17 gotthardp Exp $
+// $Id: RTItypesImp.hh,v 3.2 2009/04/02 19:58:06 erk Exp $
Index: libRTI/RTIambPrivateRefs.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambPrivateRefs.cc,v
retrieving revision 3.16
retrieving revision 3.17
diff -u -b -r3.16 -r3.17
--- libRTI/RTIambPrivateRefs.cc 7 Dec 2008 20:16:16 -0000 3.16
+++ libRTI/RTIambPrivateRefs.cc 2 Apr 2009 19:58:06 -0000 3.17
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambPrivateRefs.cc,v 3.16 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.17 2009/04/02 19:58:06 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -29,7 +29,7 @@
#include <sstream>
namespace {
-PrettyDebug D("LIBRTI", __FILE__);
+static PrettyDebug D("LIBRTI", __FILE__);
static PrettyDebug G("GENDOC",__FILE__);
}
@@ -712,7 +712,7 @@
if (msg->getBoolean())
fed_amb->reflectAttributeValues(msg->getObject(),
*attributes,
- msg->getFedTime(),
+ RTIfedTime(msg->getFedTime()),
(msg->getTag()).c_str(),
msg->getEventRetraction());
else
@@ -733,7 +733,7 @@
fed_amb->receiveInteraction(
msg->getInteractionClass(),
*parameters,
- msg->getFedTime(),
+ RTIfedTime(msg->getFedTime()),
(msg->getTag()).c_str(),
msg->getEventRetraction());
else
@@ -752,7 +752,7 @@
if (msg->getBoolean()) {
fed_amb->removeObjectInstance(
msg->getObject(),
- msg->getFedTime(),
+ RTIfedTime(msg->getFedTime()),
(msg->getTag()).c_str(),
msg->getEventRetraction());
}
@@ -884,21 +884,21 @@
case Message::TIME_ADVANCE_GRANT:
try {
- fed_amb->timeAdvanceGrant(msg->getFedTime());
+ fed_amb->timeAdvanceGrant(RTIfedTime(msg->getFedTime()));
}
CATCH_FEDERATE_AMBASSADOR_EXCEPTIONS("timeAdvanceGrant")
break ;
case Message::TIME_REGULATION_ENABLED:
try {
- fed_amb->timeRegulationEnabled(msg->getFedTime());
+ fed_amb->timeRegulationEnabled(RTIfedTime(msg->getFedTime()));
}
CATCH_FEDERATE_AMBASSADOR_EXCEPTIONS("timeRegulationEnabled")
break ;
case Message::TIME_CONSTRAINED_ENABLED:
try {
- fed_amb->timeConstrainedEnabled(msg->getFedTime());
+ fed_amb->timeConstrainedEnabled(RTIfedTime(msg->getFedTime()));
}
CATCH_FEDERATE_AMBASSADOR_EXCEPTIONS("timeConstrainedEnabled")
break ;
@@ -908,4 +908,4 @@
}
}
-// $Id: RTIambPrivateRefs.cc,v 3.16 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambPrivateRefs.cc,v 3.17 2009/04/02 19:58:06 erk Exp $
Index: libRTI/RTIambassador.cc
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambassador.cc,v
retrieving revision 3.101
retrieving revision 3.102
diff -u -b -r3.101 -r3.102
--- libRTI/RTIambassador.cc 7 Dec 2008 20:16:16 -0000 3.101
+++ libRTI/RTIambassador.cc 2 Apr 2009 19:58:06 -0000 3.102
@@ -19,11 +19,11 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambassador.cc,v 3.101 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambassador.cc,v 3.102 2009/04/02 19:58:06 erk Exp $
// ----------------------------------------------------------------------------
-
-#include "certi.hh"
+#include "RTI.hh"
+#include "fedtime.hh"
#include "RTIambPrivateRefs.hh"
#include "RTItypesImp.hh"
@@ -612,7 +612,7 @@
//! Request Federation Save with time.
void
RTI::RTIambassador::requestFederationSave(const char *label,
- const FedTime& theTime)
+ const RTI::FedTime& theTime)
throw (RTI::FederationTimeAlreadyPassed,
RTI::InvalidFederationTime,
RTI::FederateNotExecutionMember,
@@ -626,7 +626,7 @@
G.Out(pdGendoc,"enter RTIambassador::requestFederationSave with time");
req.type = Message::REQUEST_FEDERATION_SAVE ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
req.setLabel(label);
// boolean true means time constrained
req.setBoolean(true);
@@ -796,7 +796,7 @@
req.type = Message::PUBLISH_OBJECT_CLASS ;
req.setObjectClass(theClass);
-
req.setAHS(cast<AttributeHandleSetImp>()(attributeList).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attributeList).getAttributeHandles());
G.Out(pdGendoc," ====>executeService PUBLISH_OBJECT_CLASS");
privateRefs->executeService(&req, &rep);
G.Out(pdGendoc,"exit RTIambassador::publishObjectClass");
@@ -870,7 +870,7 @@
G.Out(pdGendoc,"enter RTIambassador::subscribeObjectClassAttributes");
req.type = Message::SUBSCRIBE_OBJECT_CLASS_ATTRIBUTES ;
req.setObjectClass(theClass);
-
req.setAHS(cast<AttributeHandleSetImp>()(attributeList).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attributeList).getAttributeHandles());
req.setBoolean(active);
privateRefs->executeService(&req, &rep);
@@ -975,11 +975,11 @@
@param theTime Federation time
@param theTag User supplied tag
*/
-EventRetractionHandle
+RTI::EventRetractionHandle
RTI::RTIambassador::
updateAttributeValues(ObjectHandle theObject,
const AttributeHandleValuePairSet& theAttributes,
- const FedTime& theTime,
+ const RTI::FedTime& theTime,
const char *theTag)
throw (RTI::ObjectNotKnown,
RTI::AttributeNotDefined,
@@ -996,13 +996,13 @@
req.type = Message::UPDATE_ATTRIBUTE_VALUES ;
req.setObject(theObject);
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
if ( theTag == NULL)
{
throw RTI::RTIinternalError ("Calling updateAttributeValues with Tag
NULL");
}
req.setTag(theTag);
-
req.setAHVPS(cast<AttributeHandleValuePairSetImp>()(theAttributes).getAttributeHandleValuePairs());
+
req.setAHVPS(certi_cast<AttributeHandleValuePairSetImp>()(theAttributes).getAttributeHandleValuePairs());
req.setBoolean(true);
privateRefs->executeService(&req, &rep);
@@ -1038,7 +1038,7 @@
throw RTI::RTIinternalError ("Calling updateAttributeValues with Tag
NULL");
}
req.setTag(theTag);
-
req.setAHVPS(cast<AttributeHandleValuePairSetImp>()(theAttributes).getAttributeHandleValuePairs());
+
req.setAHVPS(certi_cast<AttributeHandleValuePairSetImp>()(theAttributes).getAttributeHandleValuePairs());
req.setBoolean(false);
privateRefs->executeService(&req, &rep);
@@ -1054,10 +1054,10 @@
@param theTime Federation time
@param theTag User-supplied tag
*/
-EventRetractionHandle
+RTI::EventRetractionHandle
RTI::RTIambassador::sendInteraction(InteractionClassHandle theInteraction,
const ParameterHandleValuePairSet&
theParameters,
- const FedTime& theTime,
+ const RTI::FedTime& theTime,
const char *theTag)
throw (RTI::InteractionClassNotDefined,
RTI::InteractionClassNotPublished,
@@ -1073,13 +1073,13 @@
req.type = Message::SEND_INTERACTION ;
req.setInteractionClass(theInteraction);
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
if (theTag == NULL)
{
throw RTI::RTIinternalError ("Calling sendInteraction with Tag NULL") ;
}
req.setTag((std::string)theTag);
-
req.setPHVPS(cast<ParameterHandleValuePairSetImp>()(theParameters).getParameterHandleValuePairs());
+
req.setPHVPS(certi_cast<ParameterHandleValuePairSetImp>()(theParameters).getParameterHandleValuePairs());
req.setRegion(0);
req.setBoolean(true);
@@ -1115,7 +1115,7 @@
throw RTI::RTIinternalError ("Calling sendIntercation with Tag NULL") ;
}
req.setTag((std::string)theTag);
-
req.setPHVPS(cast<ParameterHandleValuePairSetImp>()(theParameters).getParameterHandleValuePairs());
+
req.setPHVPS(certi_cast<ParameterHandleValuePairSetImp>()(theParameters).getParameterHandleValuePairs());
req.setRegion(0);
req.setBoolean(false);
@@ -1130,9 +1130,9 @@
@param theTime Federation time
@param theTag user supplied tag
*/
-EventRetractionHandle
+RTI::EventRetractionHandle
RTI::RTIambassador::deleteObjectInstance(ObjectHandle theObject,
- const FedTime& theTime,
+ const RTI::FedTime& theTime,
const char *theTag)
throw (RTI::ObjectNotKnown,
RTI::DeletePrivilegeNotHeld,
@@ -1147,7 +1147,7 @@
req.type = Message::DELETE_OBJECT_INSTANCE ;
req.setObject(theObject);
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
if (theTag == NULL)
{
throw RTI::RTIinternalError ("Calling deleteObjectInstance with Tag
NULL") ;
@@ -1222,7 +1222,7 @@
req.type = Message::CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE ;
req.setObject(theObject);
req.setTransportation(theType);
-
req.setAHS(cast<AttributeHandleSetImp>()(theAttributes).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(theAttributes).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1262,7 +1262,7 @@
G.Out(pdGendoc,"enter RTIambassador::requestObjectAttributeValueUpdate");
req.type = Message::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(ahs).getAttributeHandles());
+ req.setAHS(certi_cast<AttributeHandleSetImp>()(ahs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
G.Out(pdGendoc,"exit RTIambassador::requestObjectAttributeValueUpdate");
@@ -1283,7 +1283,7 @@
G.Out(pdGendoc,"enter RTIambassador::requestClassAttributeValueUpdate");
req.type = Message::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE ;
req.setObjectClass(theClass);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
G.Out(pdGendoc,"exit RTIambassador::requestClassAttributeValueUpdate");
@@ -1308,7 +1308,7 @@
req.type = Message::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1339,7 +1339,7 @@
throw RTI::RTIinternalError ("Calling
negotiatedAttributeOwnershipDivestiture with Tag NULL") ;
}
req.setTag(theTag);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1371,7 +1371,7 @@
throw RTI::RTIinternalError ("Calling attributeOwnershipAcquisition
with Tag NULL") ;
}
req.setTag(theTag);
-
req.setAHS(cast<AttributeHandleSetImp>()(desiredAttributes).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(desiredAttributes).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1396,7 +1396,7 @@
req.type = Message::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
@@ -1427,7 +1427,7 @@
req.type = Message::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1452,7 +1452,7 @@
req.type = Message::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1479,7 +1479,7 @@
req.type = Message::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE ;
req.setObject(theObject);
- req.setAHS(cast<AttributeHandleSetImp>()(desired).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(desired).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -1531,8 +1531,8 @@
// ----------------------------------------------------------------------------
// Enable Time Regulation
void
-RTI::RTIambassador::enableTimeRegulation(const FedTime& theFederateTime,
- const FedTime& theLookahead)
+RTI::RTIambassador::enableTimeRegulation(const RTI::FedTime& theFederateTime,
+ const RTI::FedTime& theLookahead)
throw (RTI::RTIinternalError, RTI::RestoreInProgress,
RTI::SaveInProgress, RTI::FederateNotExecutionMember,
RTI::ConcurrentAccessAttempted, RTI::InvalidLookahead,
@@ -1541,8 +1541,8 @@
{
Message req, rep ;
req.type = Message::ENABLE_TIME_REGULATION ;
- req.setFedTime(theFederateTime);
- req.setLookahead(theLookahead);
+ req.setFedTime(certi_cast<RTIfedTime>()(theFederateTime).getTime());
+ req.setLookahead(certi_cast<RTIfedTime>()(theLookahead).getTime());
req.setBoolean(true);
privateRefs->executeService(&req, &rep);
}
@@ -1603,7 +1603,7 @@
// ----------------------------------------------------------------------------
// Time Advance Request
void
-RTI::RTIambassador::timeAdvanceRequest(const FedTime& theTime)
+RTI::RTIambassador::timeAdvanceRequest(const RTI::FedTime& theTime)
throw (RTI::TimeAdvanceAlreadyInProgress,
RTI::FederationTimeAlreadyPassed,
RTI::InvalidFederationTime,
@@ -1618,14 +1618,14 @@
Message req, rep ;
req.type = Message::TIME_ADVANCE_REQUEST ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
privateRefs->executeService(&req, &rep);
}
// ----------------------------------------------------------------------------
// Time Advance Request Available
void
-RTI::RTIambassador::timeAdvanceRequestAvailable(const FedTime& theTime)
+RTI::RTIambassador::timeAdvanceRequestAvailable(const RTI::FedTime& theTime)
throw (RTI::RTIinternalError, RTI::RestoreInProgress, RTI::SaveInProgress,
RTI::ConcurrentAccessAttempted, RTI::FederateNotExecutionMember,
RTI::EnableTimeConstrainedPending, RTI::EnableTimeRegulationPending,
@@ -1635,7 +1635,7 @@
Message req, rep ;
req.type = Message::TIME_ADVANCE_REQUEST_AVAILABLE ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
privateRefs->executeService(&req, &rep);
}
@@ -1643,7 +1643,7 @@
// ----------------------------------------------------------------------------
// Next Event Request
void
-RTI::RTIambassador::nextEventRequest(const FedTime& theTime)
+RTI::RTIambassador::nextEventRequest(const RTI::FedTime& theTime)
throw (RTI::TimeAdvanceAlreadyInProgress,
RTI::FederationTimeAlreadyPassed,
RTI::InvalidFederationTime,
@@ -1658,14 +1658,14 @@
Message req, rep ;
req.type = Message::NEXT_EVENT_REQUEST ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
privateRefs->executeService(&req, &rep);
}
// ----------------------------------------------------------------------------
// Next Event Request Available
void
-RTI::RTIambassador::nextEventRequestAvailable(const FedTime& theTime)
+RTI::RTIambassador::nextEventRequestAvailable(const RTI::FedTime& theTime)
throw (RTI::RTIinternalError, RTI::RestoreInProgress, RTI::SaveInProgress,
RTI::ConcurrentAccessAttempted, RTI::FederateNotExecutionMember,
RTI::EnableTimeConstrainedPending, RTI::EnableTimeRegulationPending,
@@ -1675,14 +1675,14 @@
Message req, rep ;
req.type = Message::NEXT_EVENT_REQUEST_AVAILABLE ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
privateRefs->executeService(&req, &rep);
}
// ----------------------------------------------------------------------------
// Flush Queue Request
void
-RTI::RTIambassador::flushQueueRequest(const FedTime& theTime)
+RTI::RTIambassador::flushQueueRequest(const RTI::FedTime& theTime)
throw (RTI::TimeAdvanceAlreadyInProgress,
RTI::FederationTimeAlreadyPassed,
RTI::InvalidFederationTime,
@@ -1698,7 +1698,7 @@
Message req, rep ;
req.type = Message::FLUSH_QUEUE_REQUEST ;
- req.setFedTime(theTime);
+ req.setFedTime(certi_cast<RTIfedTime>()(theTime).getTime());
privateRefs->executeService(&req, &rep);
}
@@ -1738,7 +1738,7 @@
// ----------------------------------------------------------------------------
// Query LBTS
void
-RTI::RTIambassador::queryLBTS(FedTime& theTime)
+RTI::RTIambassador::queryLBTS(RTI::FedTime& theTime)
throw (RTI::FederateNotExecutionMember,
RTI::ConcurrentAccessAttempted,
RTI::SaveInProgress,
@@ -1750,13 +1750,13 @@
req.type = Message::QUERY_LBTS ;
privateRefs->executeService(&req, &rep);
- theTime = rep.getFedTime();
+ certi_cast<RTIfedTime>()(theTime) = rep.getFedTime();
}
// ----------------------------------------------------------------------------
// Query Federate Time
void
-RTI::RTIambassador::queryFederateTime(FedTime& theTime)
+RTI::RTIambassador::queryFederateTime(RTI::FedTime& theTime)
throw (RTI::FederateNotExecutionMember,
RTI::ConcurrentAccessAttempted,
RTI::SaveInProgress,
@@ -1768,13 +1768,13 @@
req.type = Message::QUERY_FEDERATE_TIME ;
privateRefs->executeService(&req, &rep);
- theTime = rep.getFedTime();
+ certi_cast<RTIfedTime>()(theTime) = rep.getFedTime();
}
// ----------------------------------------------------------------------------
// Query Minimum Next Event Time
void
-RTI::RTIambassador::queryMinNextEventTime(FedTime& theTime)
+RTI::RTIambassador::queryMinNextEventTime(RTI::FedTime& theTime)
throw (RTI::FederateNotExecutionMember,
RTI::ConcurrentAccessAttempted,
RTI::SaveInProgress,
@@ -1786,13 +1786,13 @@
req.type = Message::QUERY_MIN_NEXT_EVENT_TIME ;
privateRefs->executeService(&req, &rep);
- theTime = rep.getFedTime();
+ certi_cast<RTIfedTime>()(theTime) = rep.getFedTime();
}
// ----------------------------------------------------------------------------
// Modify Lookahead
void
-RTI::RTIambassador::modifyLookahead(const FedTime& theLookahead)
+RTI::RTIambassador::modifyLookahead(const RTI::FedTime& theLookahead)
throw (RTI::RTIinternalError, RTI::RestoreInProgress, RTI::SaveInProgress,
RTI::ConcurrentAccessAttempted, RTI::FederateNotExecutionMember,
RTI::InvalidLookahead)
@@ -1800,7 +1800,7 @@
Message req, rep ;
req.type = Message::MODIFY_LOOKAHEAD ;
- req.setLookahead(theLookahead);
+ req.setLookahead(certi_cast<RTIfedTime>()(theLookahead).getTime());
privateRefs->executeService(&req, &rep);
}
@@ -1808,7 +1808,7 @@
// ----------------------------------------------------------------------------
// Query Lookahead
void
-RTI::RTIambassador::queryLookahead(FedTime &theTime)
+RTI::RTIambassador::queryLookahead(RTI::FedTime &theTime)
throw (RTI::FederateNotExecutionMember,
RTI::ConcurrentAccessAttempted,
RTI::SaveInProgress,
@@ -1820,19 +1820,13 @@
req.type = Message::QUERY_LOOKAHEAD ;
privateRefs->executeService(&req, &rep);
- try {
- RTIfedTime &ret = dynamic_cast<RTIfedTime&>(theTime);
- ret = RTIfedTime((Double) rep.getFederationTimeDelta());
- }
- catch (std::bad_cast) {
- throw RTI::RTIinternalError("theTime is not a RTIfedTime object");
- }
+ certi_cast<RTIfedTime>()(theTime) = rep.getFederationTimeDelta().getTime();
}
// ----------------------------------------------------------------------------
// Retract
void
-RTI::RTIambassador::retract(EventRetractionHandle handle)
+RTI::RTIambassador::retract(RTI::EventRetractionHandle handle)
throw (RTI::RTIinternalError, RTI::RestoreInProgress, RTI::SaveInProgress,
RTI::ConcurrentAccessAttempted, RTI::FederateNotExecutionMember,
RTI::InvalidRetractionHandle)
@@ -1862,7 +1856,7 @@
req.type = Message::CHANGE_ATTRIBUTE_ORDER_TYPE ;
req.setObject(theObject);
req.setOrdering(theType);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
privateRefs->executeService(&req, &rep);
}
@@ -2080,7 +2074,7 @@
req.type = Message::DDM_ASSOCIATE_REGION ;
req.setObject(object);
req.setRegion(get_handle(region));
-
req.setAHS(cast<AttributeHandleSetImp>()(attributes).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attributes).getAttributeHandles());
privateRefs->executeService(&req, &rep);
D[pdDebug] << "- Associate Region for Updates" << endl ;
@@ -2146,7 +2140,7 @@
req.type = Message::DDM_SUBSCRIBE_ATTRIBUTES ;
req.setObjectClass(object_class);
req.setRegion(get_handle(region));
-
req.setAHS(cast<AttributeHandleSetImp>()(attributes).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attributes).getAttributeHandles());
req.setBoolean(passive);
privateRefs->executeService(&req, &rep);
@@ -2234,10 +2228,10 @@
// ----------------------------------------------------------------------------
// Send Interaction With Region
-EventRetractionHandle
+RTI::EventRetractionHandle
RTI::RTIambassador::sendInteractionWithRegion(InteractionClassHandle
interaction,
const ParameterHandleValuePairSet
&par,
- const FedTime &time,
+ const RTI::FedTime &time,
const char *tag,
const Region ®ion)
throw (RTI::InteractionClassNotDefined,
@@ -2256,8 +2250,8 @@
req.setType(Message::SEND_INTERACTION);
req.setInteractionClass(interaction);
-
req.setPHVPS(cast<ParameterHandleValuePairSetImp>()(par).getParameterHandleValuePairs());
- req.setFedTime(time);
+
req.setPHVPS(certi_cast<ParameterHandleValuePairSetImp>()(par).getParameterHandleValuePairs());
+ req.setFedTime(certi_cast<RTIfedTime>()(time).getTime());
if ( tag == NULL )
{
throw RTI::RTIinternalError ("Calling sendInteractionWithRegion with
Tag NULL");
@@ -2291,7 +2285,7 @@
req.setType(Message::SEND_INTERACTION);
req.setInteractionClass(interaction);
-
req.setPHVPS(cast<ParameterHandleValuePairSetImp>()(par).getParameterHandleValuePairs());
+
req.setPHVPS(certi_cast<ParameterHandleValuePairSetImp>()(par).getParameterHandleValuePairs());
if ( tag == NULL )
{
throw RTI::RTIinternalError ("Calling sendInteractionWithRegion with
Tag NULL");
@@ -2316,7 +2310,7 @@
Message req, rep ;
req.setType(Message::DDM_REQUEST_UPDATE);
- req.setAHS(cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
+
req.setAHS(certi_cast<AttributeHandleSetImp>()(attrs).getAttributeHandles());
req.setRegion(get_handle(region));
privateRefs->executeService(&req, &rep);
}
@@ -2955,4 +2949,4 @@
privateRefs->executeService(&req, &rep);
}
-// $Id: RTIambassador.cc,v 3.101 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambassador.cc,v 3.102 2009/04/02 19:58:06 erk Exp $
Index: libRTI/RTIambPrivateRefs.hh
===================================================================
RCS file: /sources/certi/certi/libRTI/RTIambPrivateRefs.hh,v
retrieving revision 3.7
retrieving revision 3.8
diff -u -b -r3.7 -r3.8
--- libRTI/RTIambPrivateRefs.hh 7 Dec 2008 20:16:16 -0000 3.7
+++ libRTI/RTIambPrivateRefs.hh 2 Apr 2009 19:58:07 -0000 3.8
@@ -19,10 +19,11 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: RTIambPrivateRefs.hh,v 3.7 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambPrivateRefs.hh,v 3.8 2009/04/02 19:58:07 erk Exp $
// ----------------------------------------------------------------------------
#include "RTI.hh"
+#include "fedtime.hh"
#include "Message.hh"
#include "RootObject.hh"
#include "MessageBuffer.hh"
@@ -59,4 +60,4 @@
MessageBuffer msgBufSend,msgBufReceive ;
};
-// $Id: RTIambPrivateRefs.hh,v 3.7 2008/12/07 20:16:16 gotthardp Exp $
+// $Id: RTIambPrivateRefs.hh,v 3.8 2009/04/02 19:58:07 erk Exp $
Index: libCERTI/PrettyDebug.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/PrettyDebug.hh,v
retrieving revision 4.4
retrieving revision 4.5
diff -u -b -r4.4 -r4.5
--- libCERTI/PrettyDebug.hh 9 Aug 2007 09:22:45 -0000 4.4
+++ libCERTI/PrettyDebug.hh 2 Apr 2009 19:58:07 -0000 4.5
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: PrettyDebug.hh,v 4.4 2007/08/09 09:22:45 rousse Exp $
+// $Id: PrettyDebug.hh,v 4.5 2009/04/02 19:58:07 erk Exp $
// ----------------------------------------------------------------------------
#ifndef PRETTYDEBUG_HH
@@ -132,6 +132,7 @@
#else
void Out(pdDebugLevel Level, const char *Format, ...);
void Mes(pdDebugLevel Level, const char type, const short testMess,
const char *context);
+
#endif
};
@@ -142,4 +143,4 @@
#endif // PRETTYDEBUG_HH
-// $Id: PrettyDebug.hh,v 4.4 2007/08/09 09:22:45 rousse Exp $
+// $Id: PrettyDebug.hh,v 4.5 2009/04/02 19:58:07 erk Exp $
Index: libCERTI/LBTS.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/LBTS.cc,v
retrieving revision 3.12
retrieving revision 3.13
diff -u -b -r3.12 -r3.13
--- libCERTI/LBTS.cc 7 Dec 2008 20:16:14 -0000 3.12
+++ libCERTI/LBTS.cc 2 Apr 2009 19:58:07 -0000 3.13
@@ -19,7 +19,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: LBTS.cc,v 3.12 2008/12/07 20:16:14 gotthardp Exp $
+// $Id: LBTS.cc,v 3.13 2009/04/02 19:58:07 erk Exp $
// ----------------------------------------------------------------------------
@@ -122,7 +122,7 @@
void
LBTS::update(FederateHandle num_fed, FederationTime time)
{
- D.Out(pdDebug, "LBTS.update: Updating federate %d(%f).", num_fed, time);
+ D.Out(pdDebug, "LBTS.update: Updating federate %d(%f).", num_fed,
time.getTime());
ClockSet::iterator it = clocks.find(num_fed);
@@ -136,10 +136,10 @@
num_fed);
else {
D.Out(pdDebug, "before LBTS.update: federate %u, old time %f.",
- it->first, it->second);
+ it->first, it->second.getTime());
it->second = time ;
D.Out(pdDebug, "after LBTS.update: federate %u, new time %f.",
- it->first, it->second) ;
+ it->first, it->second.getTime());
compute();
}
}
@@ -160,4 +160,4 @@
} // namespace certi
-// $Id: LBTS.cc,v 3.12 2008/12/07 20:16:14 gotthardp Exp $
+// $Id: LBTS.cc,v 3.13 2009/04/02 19:58:07 erk Exp $
Index: libCERTI/Message.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message.cc,v
retrieving revision 3.62
retrieving revision 3.63
diff -u -b -r3.62 -r3.63
--- libCERTI/Message.cc 7 Dec 2008 20:16:14 -0000 3.62
+++ libCERTI/Message.cc 2 Apr 2009 19:58:07 -0000 3.63
@@ -197,23 +197,23 @@
@param the_time federation time
*/
void
-Message::setFedTime(const RTI::FedTime &the_time)
+Message::setFedTime(const double the_time)
{
- fed_time = dynamic_cast<const RTIfedTime &>(the_time);
+ fed_time = the_time;
}
// ----------------------------------------------------------------------------
void
-Message::setLookahead(const RTI::FedTime& the_lookahead)
+Message::setLookahead(const double the_lookahead)
{
- lookahead = (FederationTimeDelta) ((RTIfedTime&) the_lookahead).getTime();
+ lookahead = the_lookahead;
}
// ----------------------------------------------------------------------------
void
Message::setFederationTime(FederationTime the_time)
{
- fed_time = RTIfedTime(the_time);
+ fed_time = the_time;
}
// ----------------------------------------------------------------------------
@@ -238,14 +238,14 @@
// ----------------------------------------------------------------------------
void
-Message::setTransportation(RTI::TransportationHandle the_transport)
+Message::setTransportation(TransportType the_transport)
{
transport = the_transport;
}
// ----------------------------------------------------------------------------
void
-Message::setOrdering(RTI::OrderingHandle the_ordering)
+Message::setOrdering(OrderType the_ordering)
{
order = the_ordering;
}
Index: libCERTI/LBTS.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/LBTS.hh,v
retrieving revision 3.8
retrieving revision 3.9
diff -u -b -r3.8 -r3.9
--- libCERTI/LBTS.hh 20 Nov 2007 09:04:54 -0000 3.8
+++ libCERTI/LBTS.hh 2 Apr 2009 19:58:08 -0000 3.9
@@ -19,13 +19,14 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: LBTS.hh,v 3.8 2007/11/20 09:04:54 erk Exp $
+// $Id: LBTS.hh,v 3.9 2009/04/02 19:58:08 erk Exp $
// ----------------------------------------------------------------------------
#ifndef LIBCERTI_LBTS_HH
#define LIBCERTI_LBTS_HH
#include "certi.hh"
+#include "FedTimeD.hh"
#ifndef _WIN32
#include <unistd.h>
@@ -68,4 +69,4 @@
#endif // LIBCERTI_LBTS_HH
-// $Id: LBTS.hh,v 3.8 2007/11/20 09:04:54 erk Exp $
+// $Id: LBTS.hh,v 3.9 2009/04/02 19:58:08 erk Exp $
Index: libCERTI/GAV.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/GAV.hh,v
retrieving revision 3.13
retrieving revision 3.14
diff -u -b -r3.13 -r3.14
--- libCERTI/GAV.hh 7 Dec 2008 20:16:13 -0000 3.13
+++ libCERTI/GAV.hh 2 Apr 2009 19:58:08 -0000 3.14
@@ -27,7 +27,7 @@
namespace certi {
-class AttributeHandleSet
+class CERTI_EXPORT AttributeHandleSet
: public std::list<AttributeHandle>
{
public:
@@ -47,8 +47,8 @@
virtual void empty();
- virtual RTI::Boolean isEmpty() const ;
- virtual RTI::Boolean isMember(AttributeHandle h) const ;
+ virtual bool isEmpty() const ;
+ virtual bool isMember(AttributeHandle h) const ;
};
class FederateHandleSet : public std::list<FederateHandle>
@@ -70,7 +70,7 @@
virtual void empty();
- virtual RTI::Boolean isMember(FederateHandle h) const ;
+ virtual bool isMember(FederateHandle h) const ;
};
class AttributeHandleValuePair
@@ -118,9 +118,6 @@
virtual OrderType getOrderType(ULong i) const
throw (ArrayIndexOutOfBounds, InvalidHandleValuePairSetContext);
- virtual RTI::Region *getRegion(ULong i) const
- throw (ArrayIndexOutOfBounds, InvalidHandleValuePairSetContext);
-
virtual void add(Handle h, const char *buff, ULong valueLength)
throw (ValueLengthExceeded, ValueCountExceeded);
virtual void remove(Handle h) throw (ArrayIndexOutOfBounds);
@@ -174,9 +171,6 @@
virtual OrderType getOrderType() const
throw (InvalidHandleValuePairSetContext);
- virtual RTI::Region *getRegion() const
- throw (InvalidHandleValuePairSetContext);
-
virtual void add(Handle h, const char *buff, ULong valueLength)
throw (ValueLengthExceeded, ValueCountExceeded);
Index: libCERTI/GAV.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/GAV.cc,v
retrieving revision 3.18
retrieving revision 3.19
diff -u -b -r3.18 -r3.19
--- libCERTI/GAV.cc 7 Dec 2008 20:16:13 -0000 3.18
+++ libCERTI/GAV.cc 2 Apr 2009 19:58:08 -0000 3.19
@@ -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: GAV.cc,v 3.18 2008/12/07 20:16:13 gotthardp Exp $
+// $Id: GAV.cc,v 3.19 2009/04/02 19:58:08 erk Exp $
// ----------------------------------------------------------------------------
#include "GAV.hh"
@@ -159,14 +159,6 @@
}
// ----------------------------------------------------------------------------
-RTI::Region *
-AttributeHandleValuePairSet::getRegion(ULong) const
- throw (ArrayIndexOutOfBounds, InvalidHandleValuePairSetContext)
-{
- throw RTIinternalError("Unimplemented service");
-}
-
-// ----------------------------------------------------------------------------
void
AttributeHandleValuePairSet::add(Handle h,
const char *buff,
@@ -286,7 +278,7 @@
AttributeHandleSet::remove(AttributeHandle h)
throw (AttributeNotDefined)// not guaranteed safe while iterating
{
- if (isMember(h) == RTI::RTI_TRUE)
+ if (isMember(h) == true)
list<AttributeHandle>::remove(h);
else
throw AttributeNotDefined("");
@@ -300,17 +292,17 @@
}
// ----------------------------------------------------------------------------
-RTI::Boolean
+bool
AttributeHandleSet::isEmpty() const
{
- return RTI::Boolean(list<AttributeHandle>::empty());
+ return list<AttributeHandle>::empty();
}
// ----------------------------------------------------------------------------
-RTI::Boolean
+bool
AttributeHandleSet::isMember(AttributeHandle h) const
{
- return RTI::Boolean(find(begin(), end(), h) != end());
+ return find(begin(), end(), h) != end();
}
// ----------------------------------------------------------------------------
@@ -356,7 +348,7 @@
FederateHandleSet::remove(FederateHandle h)
throw (ArrayIndexOutOfBounds)
{
- if (isMember(h) == RTI::RTI_TRUE)
+ if (isMember(h) == true)
list<FederateHandle>::remove(h);
else
throw AttributeNotDefined("");
@@ -370,10 +362,10 @@
}
// ----------------------------------------------------------------------------
-RTI::Boolean
+bool
FederateHandleSet::isMember(FederateHandle h) const
{
- return RTI::Boolean(find(begin(), end(), h) != end());
+ return find(begin(), end(), h) != end();
}
// ----------------------------------------------------------------------------
@@ -499,14 +491,6 @@
}
// ----------------------------------------------------------------------------
-RTI::Region *
-ParameterHandleValuePairSet::getRegion() const
- throw (InvalidHandleValuePairSetContext)
-{
- throw RTIinternalError("Unimplemented service");
-}
-
-// ----------------------------------------------------------------------------
void
ParameterHandleValuePairSet::add(Handle h,
const char *buff,
@@ -581,5 +565,5 @@
} // namespace certi
-// $Id: GAV.cc,v 3.18 2008/12/07 20:16:13 gotthardp Exp $
+// $Id: GAV.cc,v 3.19 2009/04/02 19:58:08 erk Exp $
Index: libCERTI/CMakeLists.txt
===================================================================
RCS file: /sources/certi/certi/libCERTI/CMakeLists.txt,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- libCERTI/CMakeLists.txt 18 Dec 2008 11:56:00 -0000 1.24
+++ libCERTI/CMakeLists.txt 2 Apr 2009 19:58:08 -0000 1.25
@@ -64,6 +64,7 @@
)
SET(CERTI_TIME_SRCS
+FedTime.cc FedTimeD.hh
LBTS.cc
LBTS.hh
)
@@ -209,44 +210,7 @@
SET_TARGET_PROPERTIES(CERTI PROPERTIES VERSION 1.0.0 SOVERSION 1)
-##################################################################
-# Lib FedTime
-# A replacement lib FedTime may be provided by the user
-# CERTI is provided one. The lib FedTime depends on libRTI
-# since it inherits from the RTI::FedTime abstract class.
-##################################################################
-IF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long")
-ENDIF(CMAKE_COMPILER_IS_GNUCC)
-IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-long-long")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-INCLUDE_DIRECTORIES(../libHLA)
-SET(FEDTIME_SRCS
- FedTime.cc
- ${CMAKE_SOURCE_DIR}/include/fedtime.hh
-)
-
-SOURCE_GROUP("Source Files\\FedTime" FILES ${FEDTIME_SRCS})
-
-ADD_LIBRARY(FedTime
- ${FEDTIME_SRCS}
-)
-
-TARGET_LINK_LIBRARIES(FedTime RTI HLA)
-
-SET_TARGET_PROPERTIES(FedTime PROPERTIES PROJECT_LABEL LibFedTime)
-IF (MINGW)
- SET_TARGET_PROPERTIES(FedTime PROPERTIES LINK_FLAGS
"-Wl,--output-def,${LIBRARY_OUTPUT_PATH}/libFedTime.def")
- INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/libFedTime.def
- DESTINATION lib)
-ENDIF (MINGW)
-
-SET_TARGET_PROPERTIES(FedTime PROPERTIES VERSION 1.0.0 SOVERSION 1)
-
-# Install rules for both libCERTI and libFedTime
-INSTALL(TARGETS CERTI FedTime
+INSTALL(TARGETS CERTI
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
Index: libCERTI/SocketMC.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketMC.cc,v
retrieving revision 3.16
retrieving revision 3.17
diff -u -b -r3.16 -r3.17
--- libCERTI/SocketMC.cc 2 Nov 2008 12:54:40 -0000 3.16
+++ libCERTI/SocketMC.cc 2 Apr 2009 19:58:08 -0000 3.17
@@ -32,6 +32,7 @@
#endif
#include <cassert>
#include <cstdlib>
+#include <cstring>
namespace certi {
Index: libCERTI/Message.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message.hh,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- libCERTI/Message.hh 7 Dec 2008 20:16:14 -0000 3.54
+++ libCERTI/Message.hh 2 Apr 2009 19:58:08 -0000 3.55
@@ -26,7 +26,7 @@
#include "SocketUN.hh"
#include "BasicMessage.hh"
#include "GAV.hh"
-#include "fedtime.hh"
+#include "FedTimeD.hh"
#include <vector>
#include <string>
@@ -327,10 +327,10 @@
void setResignAction(RTI::ResignAction);
RTI::ResignAction getResignAction() const { return resignAction ; };
- void setFedTime(const RTI::FedTime&);
- const RTI::FedTime& getFedTime() const { return fed_time; };
+ void setFedTime(const double);
+ double getFedTime() const { return fed_time.getTime(); };
- void setLookahead(const RTI::FedTime&);
+ void setLookahead(const double);
void setFederationTime(FederationTime);
FederationTime getFederationTime() const { return fed_time.getTime(); };
@@ -341,12 +341,12 @@
void setObject(ObjectHandle);
ObjectHandle getObject() const { return object ; };
- void setTransportation(RTI::TransportationHandle);
- RTI::TransportationHandle getTransportation() const
+ void setTransportation(TransportType);
+ TransportType getTransportation() const
{ return transport; }
- void setOrdering(RTI::OrderingHandle);
- RTI::OrderingHandle getOrdering() const
+ void setOrdering(OrderType);
+ OrderType getOrdering() const
{ return order; }
void setEventRetraction(EventRetractionHandle);
@@ -389,7 +389,7 @@
TypeException exception ;
std::string exceptionReason;
- RTIfedTime fed_time;
+ FedTime fed_time;
bool boolean ;
FederationTimeDelta lookahead ;
FederateHandle federate ;
Index: libCERTI/Message_W.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/Message_W.cc,v
retrieving revision 3.39
retrieving revision 3.40
diff -u -b -r3.39 -r3.40
--- libCERTI/Message_W.cc 21 Nov 2008 12:45:25 -0000 3.39
+++ libCERTI/Message_W.cc 2 Apr 2009 19:58:08 -0000 3.40
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: Message_W.cc,v 3.39 2008/11/21 12:45:25 approx Exp $
+// $Id: Message_W.cc,v 3.40 2009/04/02 19:58:08 erk Exp $
// ----------------------------------------------------------------------------
@@ -494,7 +494,7 @@
case ENABLE_TIME_CONSTRAINED:
case DISABLE_TIME_CONSTRAINED:
msgBuffer.write_bool(boolean);
- msgBuffer.write_double(lookahead);
+ msgBuffer.write_double(lookahead.getTime());
break ;
// Body contains boolean
@@ -527,7 +527,7 @@
case MODIFY_LOOKAHEAD:
case QUERY_LOOKAHEAD:
// we put another time but is the lookahead
- msgBuffer.write_double(lookahead) ;
+ msgBuffer.write_double(lookahead.getTime());
break ;
// -- Default Handler --
@@ -564,7 +564,7 @@
// Note sometimes federationTime is not useful.
msgBuffer.write_int32(this->type) ;
msgBuffer.write_int32(this->exception);
- msgBuffer.write_double(getFederationTime());
+ msgBuffer.write_double(getFederationTime().getTime());
// If the message carry an exception, the Body will only contain the
// exception reason.
@@ -609,4 +609,4 @@
} // namespace certi
-// $Id: Message_W.cc,v 3.39 2008/11/21 12:45:25 approx Exp $
+// $Id: Message_W.cc,v 3.40 2009/04/02 19:58:08 erk Exp $
Index: libCERTI/NetworkMessage_RW.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage_RW.cc,v
retrieving revision 3.52
retrieving revision 3.53
diff -u -b -r3.52 -r3.53
--- libCERTI/NetworkMessage_RW.cc 23 Oct 2008 13:46:19 -0000 3.52
+++ libCERTI/NetworkMessage_RW.cc 2 Apr 2009 19:58:08 -0000 3.53
@@ -16,8 +16,9 @@
// 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_RW.cc,v 3.52 2008/10/23 13:46:19 erk Exp $
+// $Id: NetworkMessage_RW.cc,v 3.53 2009/04/02 19:58:08 erk Exp $
// ----------------------------------------------------------------------------
+
#include "NetworkMessage.hh"
#include "PrettyDebug.hh"
@@ -53,8 +54,8 @@
*/
msgBuffer.write_bool(_isDated);
if (_isDated) {
- msgBuffer.write_double(date);
- D.Out(pdDebug, "Sent Message date is <%f>", date);
+ msgBuffer.write_double(date.getTime());
+ D.Out(pdDebug, "Sent Message date is <%f>", date.getTime());
}
msgBuffer.write_bool(_isLabelled);
if (_isLabelled) {
@@ -74,8 +75,8 @@
*/
D[pdDebug] << "Deserialize <" << getName().c_str()<<">"<<endl;
/* deserialize common part */
- type =
static_cast<certi::NetworkMessage::Type>(msgBuffer.read_int32());
- exception = static_cast<certi::TypeException>(msgBuffer.read_int32());
+ type = static_cast<NetworkMessage::Type>(msgBuffer.read_int32());
+ exception = static_cast<TypeException>(msgBuffer.read_int32());
federate = msgBuffer.read_int32();
federation = msgBuffer.read_int32();
/*
@@ -87,7 +88,7 @@
_isDated = msgBuffer.read_bool();
if (_isDated) {
date = msgBuffer.read_double();
- D.Out(pdDebug, "Received Message date is <%f>", date);
+ D.Out(pdDebug, "Received Message date is <%f>",
date.getTime());
}
_isLabelled = msgBuffer.read_bool();
if (_isLabelled) {
@@ -151,4 +152,4 @@
} // namespace certi
-// $Id: NetworkMessage_RW.cc,v 3.52 2008/10/23 13:46:19 erk Exp $
+// $Id: NetworkMessage_RW.cc,v 3.53 2009/04/02 19:58:08 erk Exp $
Index: libCERTI/NetworkMessage.hh
===================================================================
RCS file: /sources/certi/certi/libCERTI/NetworkMessage.hh,v
retrieving revision 3.44
retrieving revision 3.45
diff -u -b -r3.44 -r3.45
--- libCERTI/NetworkMessage.hh 20 Nov 2008 18:21:56 -0000 3.44
+++ libCERTI/NetworkMessage.hh 2 Apr 2009 19:58:09 -0000 3.45
@@ -17,13 +17,13 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: NetworkMessage.hh,v 3.44 2008/11/20 18:21:56 approx Exp $
+// $Id: NetworkMessage.hh,v 3.45 2009/04/02 19:58:09 erk Exp $
// ----------------------------------------------------------------------------
#ifndef CERTI_NETWORK_MESSAGE_HH
#define CERTI_NETWORK_MESSAGE_HH
-#include "fedtime.hh"
+#include "FedTimeD.hh"
#include "Exception.hh"
#include "Socket.hh"
#include "RTIRegion.hh"
@@ -348,4 +348,4 @@
#endif // CERTI_NETWORK_MESSAGE_HH
-// $Id: NetworkMessage.hh,v 3.44 2008/11/20 18:21:56 approx Exp $
+// $Id: NetworkMessage.hh,v 3.45 2009/04/02 19:58:09 erk Exp $
Index: libCERTI/FedTime.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/FedTime.cc,v
retrieving revision 3.15
retrieving revision 3.16
diff -u -b -r3.15 -r3.16
--- libCERTI/FedTime.cc 10 Dec 2008 16:53:24 -0000 3.15
+++ libCERTI/FedTime.cc 2 Apr 2009 19:58:09 -0000 3.16
@@ -17,241 +17,101 @@
// You should have received a copy of the GNU Lesser General Public
// 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: FedTime.cc,v 3.16 2009/04/02 19:58:09 erk Exp $
// ----------------------------------------------------------------------------
#include <math.h>
-#include "certi.hh"
-#include "fedtime.hh"
-#include "HLAtypesIEEE1516.hh"
-
-#ifdef _WIN32
- #ifdef max
- #undef max
- #endif
-#endif
+#include "FedTimeD.hh"
-#include <algorithm>
#include <limits>
#include <sstream>
-#include <typeinfo>
-using std::stringstream ;
-
-typedef RTI::FedTime FedTime ;
-typedef RTI::Double Double ;
+using namespace certi;
namespace
{
-// ----------------------------------------------------------------------------
-/** FedTime to RTIfedTime reference cast
- */
-inline const RTIfedTime &
-rft(const FedTime &time)
- throw (RTI::InvalidFederationTime)
-{
- try {
- return dynamic_cast<const RTIfedTime &>(time);
- }
- catch (std::bad_cast) {
- throw RTI::InvalidFederationTime("Could not cast to RTIfedTime");
- }
-}
-
-inline bool
-is_infinity(const FedTime &time)
-{
- return const_cast<FedTime &>(time).isPositiveInfinity() == RTI::RTI_TRUE ;
-}
-
-/*
- fcmp
- Copyright (c) 1998-2000 Theodore C. Belding
- University of Michigan Center for the Study of Complex Systems
- <mailto:address@hidden>
- <http://fcmp.sourceforge.net>
-
- This file is part of the fcmp distribution. fcmp is free software;
- you can redistribute and modify it under the terms of the GNU Library
- General Public License (LGPL), version 2 or later. This software
- comes with absolutely no warranty. See the file COPYING for details
- and terms of copying.
-
- Description:
-
- Knuth's floating point comparison operators, from:
- Knuth, D. E. (1998). The Art of Computer Programming.
- Volume 2: Seminumerical Algorithms. 3rd ed. Addison-Wesley.
- Section 4.2.2, p. 233. ISBN 0-201-89684-2.
-
- Input parameters:
- x1, x2: numbers to be compared
- epsilon: determines tolerance
-
- epsilon should be carefully chosen based on the machine's precision,
- the observed magnitude of error, the desired precision, and the
- magnitude of the numbers to be compared. See the fcmp README file for
- more information.
-
- This routine may be used for both single-precision (float) and
- double-precision (double) floating-point numbers.
-
- Returns:
- -1 if x1 < x2
- 0 if x1 == x2
- 1 if x1 > x2
-*/
-
-inline int
-fcmp(double x1,double x2, double epsilon)
-{
- int exponent;
- double delta;
- double difference;
-
- /* Get exponent(max(fabs(x1), fabs(x2))) and store it in exponent. */
-
- /* If neither x1 nor x2 is 0, */
- /* this is equivalent to max(exponent(x1), exponent(x2)). */
-
- /* If either x1 or x2 is 0, its exponent returned by frexp would be 0, */
- /* which is much larger than the exponents of numbers close to 0 in */
- /* magnitude. But the exponent of 0 should be less than any number */
- /* whose magnitude is greater than 0. */
-
- /* So we only want to set exponent to 0 if both x1 and */
- /* x2 are 0. Hence, the following works for all x1 and x2. */
-
- frexp(fabs(x1) > fabs(x2) ? x1 : x2, &exponent);
-
- /* Do the comparison. */
-
- /* delta = epsilon * pow(2, exponent) */
-
- /* Form a neighborhood around x2 of size delta in either direction. */
- /* If x1 is within this delta neighborhood of x2, x1 == x2. */
- /* Otherwise x1 > x2 or x1 < x2, depending on which side of */
- /* the neighborhood x1 is on. */
-
- delta = ldexp(epsilon, exponent);
-
- difference = x1 - x2;
-
- if (difference > delta)
- return 1; /* x1 > x2 */
- else if (difference < -delta)
- return -1; /* x1 < x2 */
- else /* -delta <= difference <= delta */
- return 0; /* x1 == x2 */
-}
-
const char *infinity_str = "+inf" ;
} // anonymous namespace
// ----------------------------------------------------------------------------
-// FedTimeFactory
-RTI::FedTime *
-RTI::FedTimeFactory::makeZero()
- throw (RTI::MemoryExhausted)
-{
- return new RTIfedTime();
-}
-
-RTI::FedTime *
-RTI::FedTimeFactory::decode(const char *)
- throw (RTI::MemoryExhausted)
-{
- throw RTI::RTIinternalError("Not implemented");
-}
-
-// ----------------------------------------------------------------------------
// FedTime
-//FedTime::~FedTime()
-//{
-//}
-const double RTIfedTime::epsilon = std::numeric_limits<double>::epsilon();
+const double FedTime::epsilon = std::numeric_limits<double>::epsilon();
int
-RTIfedTime::fcmp(const double x1, const double x2) {
- return ::fcmp(x1,x2,RTIfedTime::epsilon);
+FedTime::fcmp(const double x1, const double x2) {
+ return certi::fcmp(x1,x2,FedTime::epsilon);
}
// ----------------------------------------------------------------------------
-// RTIfedTime
-RTIfedTime::RTIfedTime()
+// FedTime
+FedTime::FedTime()
: _fedTime(0),
_zero(0),
- _epsilon(RTIfedTime::epsilon),
+ _epsilon(FedTime::epsilon),
_positiveInfinity(std::numeric_limits<double>::infinity()) { }
-RTIfedTime::RTIfedTime(const RTI::Double &time)
+FedTime::FedTime(const double &time)
: _fedTime(time),
_zero(0),
- _epsilon(RTIfedTime::epsilon),
- _positiveInfinity(std::numeric_limits<double>::infinity()) { }
-
-RTIfedTime::RTIfedTime(const FedTime &time)
- : _fedTime(rft(time).getTime()),
- _zero(0),
- _epsilon(RTIfedTime::epsilon),
+ _epsilon(FedTime::epsilon),
_positiveInfinity(std::numeric_limits<double>::infinity()) { }
-// ----------------------------------------------------------------------------
-RTIfedTime::RTIfedTime(const RTIfedTime &time)
- : FedTime(),
- _fedTime(time._fedTime),
+FedTime::FedTime(const FedTime &time)
+ : _fedTime(time._fedTime),
_zero(time._zero),
_epsilon(time._epsilon),
_positiveInfinity(time._positiveInfinity) { }
// ----------------------------------------------------------------------------
-RTIfedTime::~RTIfedTime()
+FedTime::~FedTime()
{
}
// ----------------------------------------------------------------------------
void
-RTIfedTime::setZero()
+FedTime::setZero()
{
_fedTime = _zero;
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::isZero()
+bool
+FedTime::isZero()
{
- return RTI::Boolean(_fedTime == _zero);
+ return bool(_fedTime == _zero);
}
// ----------------------------------------------------------------------------
void
-RTIfedTime::setEpsilon()
+FedTime::setEpsilon()
{
_fedTime = _epsilon;
}
// ----------------------------------------------------------------------------
void
-RTIfedTime::setPositiveInfinity()
+FedTime::setPositiveInfinity()
{
_fedTime = _positiveInfinity;
}
// ----------------------------------------------------------------------------
-inline RTI::Boolean
-RTIfedTime::isPositiveInfinity()
+bool
+FedTime::isPositiveInfinity() const
{
- return RTI::Boolean(_fedTime == _positiveInfinity);
+ return bool(_fedTime == _positiveInfinity);
}
// ----------------------------------------------------------------------------
int
-RTIfedTime::encodedLength() const
+FedTime::encodedLength() const
{
- // current implementation of RTIfedtime takes
+ // current implementation of FedTime takes
// four IEEE-754 double values.
return (sizeof(_fedTime)+
sizeof(_zero)+
@@ -261,20 +121,20 @@
// ----------------------------------------------------------------------------
void
-RTIfedTime::encode(char *buffer) const
+FedTime::encode(char *buffer) const
{
- libhla::HLAfloat64LE encoded_fedTime;
- encoded_fedTime = _fedTime;
- strncpy(buffer,(char*)&(encoded_fedTime),encoded_fedTime.__sizeof());
+// libhla::HLAfloat64LE encoded_fedTime;
+// encoded_fedTime = _fedTime;
+// strncpy(buffer,(char*)&(encoded_fedTime),encoded_fedTime.__sizeof());
}
// ----------------------------------------------------------------------------
int
-RTIfedTime::getPrintableLength() const
+FedTime::getPrintableLength() const
{
- stringstream s ;
+ std::stringstream s ;
- if (is_infinity(*this))
+ if (isPositiveInfinity())
s << infinity_str ;
else
s << _fedTime ;
@@ -284,11 +144,11 @@
// ----------------------------------------------------------------------------
void
-RTIfedTime::getPrintableString(char *str)
+FedTime::getPrintableString(char *str)
{
- stringstream s ;
+ std::stringstream s ;
- if (is_infinity(*this))
+ if (isPositiveInfinity())
s << infinity_str ;
else
s << _fedTime ;
@@ -299,127 +159,107 @@
// ----------------------------------------------------------------------------
FedTime &
-RTIfedTime::operator+=(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator+=(const FedTime &time)
{
- _fedTime += rft(time)._fedTime ;
+ _fedTime += time._fedTime ;
return *this;
}
// ----------------------------------------------------------------------------
FedTime &
-RTIfedTime::operator-=(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator-=(const FedTime &time)
{
- _fedTime -= rft(time)._fedTime ;
+ _fedTime -= time._fedTime ;
return *this;
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator<=(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator<=(const FedTime &time) const
{
if (const_cast<FedTime &>(time).isPositiveInfinity())
- return RTI::RTI_TRUE ;
- else if (is_infinity(*this))
- return RTI::RTI_FALSE ;
+ return true;
+ else if (isPositiveInfinity())
+ return false;
else
- return RTI::Boolean(::fcmp(_fedTime, rft(time)._fedTime, _epsilon) <=
0);
+ return bool(::fcmp(_fedTime, time._fedTime, _epsilon) <= 0);
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator<(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator<(const FedTime &time) const
{
- if (is_infinity(*this))
- return RTI::RTI_FALSE ;
+ if (isPositiveInfinity())
+ return false;
else
- return RTI::Boolean(is_infinity(time) || ::fcmp(_fedTime,
rft(time)._fedTime, _epsilon) < 0);
+ return bool(time.isPositiveInfinity() || ::fcmp(_fedTime,
time._fedTime, _epsilon) < 0);
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator>=(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator>=(const FedTime &time) const
{
- if (is_infinity(*this))
- return RTI::RTI_TRUE ;
- else if (is_infinity(time))
- return RTI::RTI_FALSE ;
+ if (isPositiveInfinity())
+ return true;
+ else if (time.isPositiveInfinity())
+ return false;
else
- return RTI::Boolean(::fcmp(_fedTime, rft(time)._fedTime, _epsilon) >=
0);
+ return bool(::fcmp(_fedTime, time._fedTime, _epsilon) >= 0);
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator>(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator>(const FedTime &time) const
{
- if (is_infinity(time))
- return RTI::RTI_FALSE ;
+ if (time.isPositiveInfinity())
+ return false;
else
- return RTI::Boolean(is_infinity(*this) || ::fcmp(_fedTime,
rft(time)._fedTime, _epsilon) > 0);
+ return bool(isPositiveInfinity() || ::fcmp(_fedTime, time._fedTime,
_epsilon) > 0);
}
// ----------------------------------------------------------------------------
-inline RTI::Boolean
-RTIfedTime::operator==(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator==(const FedTime &time) const
{
- if (is_infinity(*this) && is_infinity(time))
- return RTI::RTI_TRUE ;
- else if (is_infinity(*this) || is_infinity(time))
- return RTI::RTI_FALSE ;
+ if (isPositiveInfinity() && time.isPositiveInfinity())
+ return true;
+ else if (isPositiveInfinity() || time.isPositiveInfinity())
+ return false;
else
- return RTI::Boolean(::fcmp(_fedTime, rft(time)._fedTime, _epsilon) ==
0);
+ return bool(::fcmp(_fedTime, time._fedTime, _epsilon) == 0);
}
// ----------------------------------------------------------------------------
-FedTime &
-RTIfedTime::operator=(const FedTime &time)
- throw (RTI::InvalidFederationTime)
-{
- _fedTime = rft(time)._fedTime ;
- return *this ;
-}
-
-// ----------------------------------------------------------------------------
-RTI::Double
-RTIfedTime::getTime() const
+double
+FedTime::getTime() const
{
return _fedTime ;
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator==(const Double &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator==(const double &time) const
{
- return RTI::Boolean(!is_infinity(*this) && ::fcmp(_fedTime, time,
_epsilon) == 0);
+ return bool(!isPositiveInfinity() && ::fcmp(_fedTime, time, _epsilon) ==
0);
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator!=(const FedTime &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator!=(const FedTime &time) const
{
- return RTI::Boolean(::fcmp(_fedTime, rft(time)._fedTime, _epsilon) != 0);
+ return bool(::fcmp(_fedTime, time._fedTime, _epsilon) != 0);
}
// ----------------------------------------------------------------------------
-RTI::Boolean
-RTIfedTime::operator!=(const Double &time) const
- throw (RTI::InvalidFederationTime)
+bool
+FedTime::operator!=(const double &time) const
{
- return RTI::Boolean(is_infinity(*this) || ::fcmp(_fedTime, time, _epsilon)
!= 0);
+ return bool(isPositiveInfinity() || ::fcmp(_fedTime, time, _epsilon) != 0);
}
// ----------------------------------------------------------------------------
FedTime &
-RTIfedTime::operator=(const RTIfedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator=(const FedTime &time)
{
_fedTime = time._fedTime ;
return *this ;
@@ -427,170 +267,159 @@
// ----------------------------------------------------------------------------
FedTime &
-RTIfedTime::operator=(const Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator=(const double &time)
{
_fedTime = time ;
return *this ;
}
FedTime &
-RTIfedTime::operator*=(const RTI::FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator*=(const FedTime &time)
{
- _fedTime *= rft(time)._fedTime ;
+ _fedTime *= time._fedTime ;
return *this ;
}
FedTime &
-RTIfedTime::operator/=(const RTI::FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator/=(const FedTime &time)
{
- _fedTime /= rft(time)._fedTime ;
+ _fedTime /= time._fedTime ;
return *this ;
}
FedTime &
-RTIfedTime::operator+=(const RTI::Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator+=(const double &time)
{
_fedTime += time ;
return *this ;
}
FedTime &
-RTIfedTime::operator-=(const RTI::Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator-=(const double &time)
{
_fedTime -= time ;
return *this ;
}
FedTime &
-RTIfedTime::operator*=(const RTI::Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator*=(const double &time)
{
_fedTime *= time ;
return *this ;
}
FedTime &
-RTIfedTime::operator/=(const RTI::Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime::operator/=(const double &time)
{
_fedTime /= time ;
return *this ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-RTIfedTime::operator+(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator+(const FedTime &time)
{
- RTIfedTime fedtime = _fedTime + rft(time)._fedTime ;
+ FedTime fedtime = _fedTime + time._fedTime ;
return fedtime ;
}
-RTIfedTime
-RTIfedTime::operator+(const Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator+(const double &time)
{
- RTIfedTime fedtime = _fedTime + time ;
+ FedTime fedtime = _fedTime + time ;
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-RTIfedTime::operator-(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator-(const FedTime &time)
{
- RTIfedTime fedtime = _fedTime - rft(time)._fedTime ;
+ FedTime fedtime = _fedTime - time._fedTime ;
return fedtime ;
}
-RTIfedTime
-RTIfedTime::operator-(const Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator-(const double &time)
{
- RTIfedTime fedtime = _fedTime - time ;
+ FedTime fedtime = _fedTime - time ;
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-RTIfedTime::operator*(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator*(const FedTime &time)
{
- RTIfedTime fedtime = _fedTime * rft(time)._fedTime ;
+ FedTime fedtime = _fedTime * time._fedTime ;
return fedtime ;
}
-RTIfedTime
-RTIfedTime::operator*(const Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator*(const double &time)
{
- RTIfedTime fedtime = _fedTime * time ;
+ FedTime fedtime = _fedTime * time ;
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-RTIfedTime::operator/(const FedTime &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator/(const FedTime &time)
{
- RTIfedTime fedtime = _fedTime / rft(time)._fedTime ;
+ FedTime fedtime = _fedTime / time._fedTime ;
return fedtime ;
}
-RTIfedTime
-RTIfedTime::operator/(const Double &time)
- throw (RTI::InvalidFederationTime)
+FedTime
+FedTime::operator/(const double &time)
{
- RTIfedTime fedtime = _fedTime / time ;
+ FedTime fedtime = _fedTime / time ;
return fedtime ;
}
// ----------------------------------------------------------------------------
+namespace certi {
std::ostream &
operator<<(std::ostream &s, const FedTime &time)
{
- if (is_infinity(time))
+ if (time.isPositiveInfinity())
s << infinity_str ;
else
- s << rft(time).getTime();
+ s << time.getTime();
return s ;
}
-
+}
// ============================================================================
// ----------------------------------------------------------------------------
-RTIfedTime
-operator+(const Double &d, const FedTime &time)
+FedTime
+operator+(const double &d, const FedTime &time)
{
- RTIfedTime fedtime = d + rft(time).getTime();
+ FedTime fedtime = d + time.getTime();
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-operator-(const Double &d, const FedTime &time)
+FedTime
+operator-(const double &d, const FedTime &time)
{
- RTIfedTime fedtime = d - rft(time).getTime();
+ FedTime fedtime = d - time.getTime();
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-operator*(const Double &d, const FedTime &time)
+FedTime
+operator*(const double &d, const FedTime &time)
{
- RTIfedTime fedtime = d * rft(time).getTime();
+ FedTime fedtime = d * time.getTime();
return fedtime ;
}
// ----------------------------------------------------------------------------
-RTIfedTime
-operator/(const Double &d, const FedTime &time)
+FedTime
+operator/(const double &d, const FedTime &time)
{
- RTIfedTime fedtime = d / rft(time).getTime();
+ FedTime fedtime = d / time.getTime();
return fedtime ;
}
+
+// $Id: FedTime.cc,v 3.16 2009/04/02 19:58:09 erk Exp $
+
Index: RTIG/Federation.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/Federation.cc,v
retrieving revision 3.103
retrieving revision 3.104
diff -u -b -r3.103 -r3.104
--- RTIG/Federation.cc 16 Dec 2008 07:08:29 -0000 3.103
+++ RTIG/Federation.cc 2 Apr 2009 19:58:09 -0000 3.104
@@ -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.103 2008/12/16 07:08:29 approx Exp $
+// $Id: Federation.cc,v 3.104 2009/04/02 19:58:09 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -712,7 +712,7 @@
federate.setRegulator(true);
D.Out(pdTerm, "Federation %d: Federate %d is now a regulator(Time=%f).",
- handle, federate_handle, time);
+ handle, federate_handle, time.getTime());
NM_Set_Time_Regulating msg ;
msg.exception = e_NO_EXCEPTION ;
@@ -1909,7 +1909,7 @@
}
D.Out(pdTerm, "Federation %d: Federate %d's new time is %f.",
- handle, federate_handle, time);
+ handle, federate_handle, time.getTime());
regulators.update(federate_handle, time);
@@ -2525,5 +2525,5 @@
}} // namespace certi/rtig
-// $Id: Federation.cc,v 3.103 2008/12/16 07:08:29 approx Exp $
+// $Id: Federation.cc,v 3.104 2009/04/02 19:58:09 erk Exp $
Index: RTIG/RTIG_processing.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG_processing.cc,v
retrieving revision 3.80
retrieving revision 3.81
diff -u -b -r3.80 -r3.81
--- RTIG/RTIG_processing.cc 7 Dec 2008 20:16:11 -0000 3.80
+++ RTIG/RTIG_processing.cc 2 Apr 2009 19:58:10 -0000 3.81
@@ -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.80 2008/12/07 20:16:11 gotthardp Exp $
+// $Id: RTIG_processing.cc,v 3.81 2009/04/02 19:58:10 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -520,7 +520,7 @@
G.Out(pdGendoc,"BEGIN ** SET TIME REGULATING **");
if (msg->isRegulator()) {
- auditServer << "ON at time " << msg->getDate();
+ auditServer << "ON at time " << msg->getDate().getTime();
federations.createRegulator(msg->federation,
msg->federate,
@@ -561,7 +561,7 @@
G.Out(pdGendoc,"BEGIN ** SET TIME CONSTRAINED **");
if (msg->isConstrained()) {
- auditServer << "ON at time " << msg->getDate();
+ auditServer << "ON at time " << msg->getDate().getTime();
federations.addConstrained(msg->federation,
msg->federate);
@@ -597,7 +597,7 @@
void
RTIG::processMessageNull(NetworkMessage *msg)
{
- auditServer << "Date " << msg->getDate() ;
+ auditServer << "Date " << msg->getDate().getTime();
// Catch all exceptions because RTIA does not expect an answer anyway.
try {
@@ -919,7 +919,7 @@
std::vector <AttributeValue_t> ValueArray ;
auditServer << "ObjID = " << req->object
- << ", Date = " << req->getDate() ;
+ << ", Date = " << req->getDate().getTime();
// Get Value Array
ValueArray = req->getAttribValueArray();
@@ -976,7 +976,7 @@
// Building Value Array
auditServer << "IntID = " << req->interactionClass
- << ", date = " << req->getDate() ;
+ << ", date = " << req->getDate().getTime();
values = req->getParamValueArray();
if ( req->isDated() )
@@ -1556,4 +1556,4 @@
}} // namespace certi/rtig
-// $Id: RTIG_processing.cc,v 3.80 2008/12/07 20:16:11 gotthardp Exp $
+// $Id: RTIG_processing.cc,v 3.81 2009/04/02 19:58:10 erk Exp $
Index: RTIG/RTIG.cc
===================================================================
RCS file: /sources/certi/certi/RTIG/RTIG.cc,v
retrieving revision 3.54
retrieving revision 3.55
diff -u -b -r3.54 -r3.55
--- RTIG/RTIG.cc 7 Dec 2008 20:16:11 -0000 3.54
+++ RTIG/RTIG.cc 2 Apr 2009 19:58:10 -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.cc,v 3.54 2008/12/07 20:16:11 gotthardp Exp $
+// $Id: RTIG.cc,v 3.55 2009/04/02 19:58:10 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -205,7 +205,7 @@
case NetworkMessage::SET_TIME_REGULATING:
D.Out(pdTrace, "SetTimeRegulating du federe %u(date=%f).",
- msg->federate, msg->getDate());
+ msg->federate, msg->getDate().getTime());
auditServer.setLevel(8);
processSetTimeRegulating(link,
static_cast<NM_Set_Time_Regulating*>(msg));
break ;
@@ -1039,4 +1039,4 @@
}} // namespace certi/rtig
-// $Id: RTIG.cc,v 3.54 2008/12/07 20:16:11 gotthardp Exp $
+// $Id: RTIG.cc,v 3.55 2009/04/02 19:58:10 erk Exp $
Index: libHLA/HLAbuffer.hh
===================================================================
RCS file: /sources/certi/certi/libHLA/HLAbuffer.hh,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libHLA/HLAbuffer.hh 18 Dec 2008 19:45:47 -0000 1.8
+++ libHLA/HLAbuffer.hh 2 Apr 2009 19:58:10 -0000 1.9
@@ -11,7 +11,7 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
-// $Id: HLAbuffer.hh,v 1.8 2008/12/18 19:45:47 gotthardp Exp $
+// $Id: HLAbuffer.hh,v 1.9 2009/04/02 19:58:10 erk Exp $
// ----------------------------------------------------------------------------
#ifndef _HLATYPES_BUFFER_HH
@@ -48,7 +48,7 @@
namespace libhla {
-std::ostream& __print_buffer(std::ostream& stream, const void *buffer, size_t
length);
+HLA_EXPORT std::ostream& __print_buffer(std::ostream& stream, const void
*buffer, size_t length);
/* Caution:
* This implementation assumes that there are no compiler-generated data in
@@ -182,5 +182,5 @@
#endif // _HLATYPES_BUFFER_HH
-// $Id: HLAbuffer.hh,v 1.8 2008/12/18 19:45:47 gotthardp Exp $
+// $Id: HLAbuffer.hh,v 1.9 2009/04/02 19:58:10 erk Exp $
Index: include/RTItypes.hh
===================================================================
RCS file: /sources/certi/certi/include/RTItypes.hh,v
retrieving revision 3.19
retrieving revision 3.20
diff -u -b -r3.19 -r3.20
--- include/RTItypes.hh 10 Dec 2008 16:53:24 -0000 3.19
+++ include/RTItypes.hh 2 Apr 2009 19:58:10 -0000 3.20
@@ -1,5 +1,5 @@
// HLA 1.3 Header "RTItypes.hh"
-// $Id: RTItypes.hh,v 3.19 2008/12/10 16:53:24 erk Exp $
+// $Id: RTItypes.hh,v 3.20 2009/04/02 19:58:10 erk Exp $
#ifndef RTITYPES_HH_INCLUDED
#define RTITYPES_HH_INCLUDED
@@ -330,7 +330,7 @@
throw (ArrayIndexOutOfBounds) = 0 ;
} ;
-class RTI_EXPORT FedTime
+class FEDTIME_EXPORT FedTime
{
public:
virtual ~FedTime(){};
@@ -390,4 +390,4 @@
#endif // RTITYPES_HH_INCLUDED
-// $Id: RTItypes.hh,v 3.19 2008/12/10 16:53:24 erk Exp $
+// $Id: RTItypes.hh,v 3.20 2009/04/02 19:58:10 erk Exp $
Index: include/fedtime.hh
===================================================================
RCS file: /sources/certi/certi/include/fedtime.hh,v
retrieving revision 3.12
retrieving revision 3.13
diff -u -b -r3.12 -r3.13
--- include/fedtime.hh 10 Dec 2008 17:42:43 -0000 3.12
+++ include/fedtime.hh 2 Apr 2009 19:58:11 -0000 3.13
@@ -1,35 +1,16 @@
// HLA 1.3 Header "fedtime.hh"
-// $Id: fedtime.hh,v 3.12 2008/12/10 17:42:43 gotthardp Exp $
+// $Id: fedtime.hh,v 3.13 2009/04/02 19:58:11 erk Exp $
#ifndef HLA_FEDTIME_HH
#define HLA_FEDTIME_HH
-#ifdef _WIN32
-#include <windows.h>
-#else
+#include "RTI.hh"
#include <sys/types.h>
#include <string.h>
-#endif
-
-#if defined(_WIN32)
- #if defined(FedTime_EXPORTS)
- #define FEDTIME_EXPORT __declspec(dllexport)
- #else
- #define FEDTIME_EXPORT __declspec(dllimport)
- #endif
-#else
- #define FEDTIME_EXPORT
-#endif
-
-#include "RTI.hh"
class FEDTIME_EXPORT RTIfedTime : public RTI::FedTime
{
public:
-
- static const double epsilon;
- static int fcmp(const double x1, const double x2);
-
RTIfedTime();
RTIfedTime(const RTI::Double &);
RTIfedTime(const RTI::FedTime &);
@@ -146,4 +127,4 @@
#endif // HLA_FEDTIME_HH
-// $Id: fedtime.hh,v 3.12 2008/12/10 17:42:43 gotthardp Exp $
+// $Id: fedtime.hh,v 3.13 2009/04/02 19:58:11 erk Exp $
Index: include/certi.hh
===================================================================
RCS file: /sources/certi/certi/include/certi.hh,v
retrieving revision 3.39
retrieving revision 3.40
diff -u -b -r3.39 -r3.40
--- include/certi.hh 18 Dec 2008 19:45:47 -0000 3.39
+++ include/certi.hh 2 Apr 2009 19:58:11 -0000 3.40
@@ -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: certi.hh,v 3.39 2008/12/18 19:45:47 gotthardp Exp $
+// $Id: certi.hh,v 3.40 2009/04/02 19:58:11 erk Exp $
// ----------------------------------------------------------------------------
#include <vector>
@@ -102,30 +102,29 @@
namespace certi {
-// RTI Shortcuts
-typedef RTI::AttributeHandle AttributeHandle ;
-typedef RTI::DimensionHandle DimensionHandle ;
-typedef RTI::EventRetractionHandle EventRetractionHandle ;
-typedef RTI::ExtentIndex ExtentIndex ;
-typedef RTI::FederateHandle FederateHandle ;
-typedef RTI::Handle Handle ;
-typedef RTI::InteractionClassHandle InteractionClassHandle ;
-typedef RTI::ObjectClassHandle ObjectClassHandle ;
-typedef RTI::ObjectHandle ObjectHandle ;
-typedef RTI::OrderType OrderType ;
-typedef RTI::ParameterHandle ParameterHandle ;
-typedef RTI::SpaceHandle SpaceHandle ;
-typedef RTI::TransportType TransportType ;
-typedef RTI::ULong ULong ;
-typedef RTI::UShort UShort ;
+typedef unsigned short UShort;
+typedef unsigned long ULong;
+typedef long Long;
+typedef ULong Handle;
+typedef Handle ObjectClassHandle;
+typedef Handle InteractionClassHandle;
+typedef ULong ExtentIndex;
+typedef Handle AttributeHandle;
+typedef Handle ParameterHandle;
+typedef Handle ObjectHandle;
+typedef Handle DimensionHandle;
+typedef Handle FederateHandle;
+typedef Handle OrderType;
+typedef Long SpaceHandle;
+typedef Handle TransportType;
+
+typedef RTI::EventRetractionHandle EventRetractionHandle;
-typedef RTI::Double FederationTime ;
typedef UShort ObjectHandlecount ;
typedef std::string ObjectName_t ;
typedef std::string AttributeValue_t;
typedef std::string ParameterValue_t;
-typedef RTI::Double FederationTimeDelta ;
enum ObjectRemovalReason {
OUT_OF_REGION = 1,
OBJECT_DELETED,
@@ -247,4 +246,4 @@
(uint64_t) CERTI_INT64_CONSTANT(0xff00000000000000U)) >> 56)))
#endif // CERTI_HH_INCLUDED
-// $Id: certi.hh,v 3.39 2008/12/18 19:45:47 gotthardp Exp $
+// $Id: certi.hh,v 3.40 2009/04/02 19:58:11 erk Exp $
Index: include/baseTypes.hh
===================================================================
RCS file: /sources/certi/certi/include/baseTypes.hh,v
retrieving revision 3.13
retrieving revision 3.14
diff -u -b -r3.13 -r3.14
--- include/baseTypes.hh 7 Dec 2008 20:16:12 -0000 3.13
+++ include/baseTypes.hh 2 Apr 2009 19:58:11 -0000 3.14
@@ -35,10 +35,10 @@
};
#define RTI_EXCEPT(A) \
-class RTI_EXPORT A : public Exception { \
+class A : public Exception { \
public: \
- static const char *_ex ; \
- static long type ; \
+ static RTI_EXPORT const char *_ex ; \
+ static RTI_EXPORT long type ; \
A (const char *reason) : Exception(reason) { _name = #A ;
this->displayMe();} \
A (ULong serial, const char *reason = 0) \
: Exception(serial, reason) { _name = #A ; this->displayMe(); } \
Index: include/RTI.hh
===================================================================
RCS file: /sources/certi/certi/include/RTI.hh,v
retrieving revision 3.15
retrieving revision 3.16
diff -u -b -r3.15 -r3.16
--- include/RTI.hh 10 Dec 2008 17:42:43 -0000 3.15
+++ include/RTI.hh 2 Apr 2009 19:58:11 -0000 3.16
@@ -1,5 +1,5 @@
// HLA 1.3 Header "RTI.hh"
-// $Id: RTI.hh,v 3.15 2008/12/10 17:42:43 gotthardp Exp $
+// $Id: RTI.hh,v 3.16 2009/04/02 19:58:11 erk Exp $
#ifndef RTI_hh
#define RTI_hh
@@ -16,14 +16,14 @@
#else
#define RTI_EXPORT __declspec(dllimport)
#endif
- #if !defined(FEDTIME_EXPORT)
- #define FEDTIME_EXPORT
+ #if defined(FedTime_EXPORTS)
+ #define FEDTIME_EXPORT __declspec(dllexport)
+ #else
+ #define FEDTIME_EXPORT __declspec(dllimport)
#endif
#else
#define RTI_EXPORT
- #if !defined(FEDTIME_EXPORT)
#define FEDTIME_EXPORT
- #endif
#endif
#ifdef RTI_USES_STD_FSTREAM
Index: RTIA/RTIA_network.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/RTIA_network.cc,v
retrieving revision 3.30
retrieving revision 3.31
diff -u -b -r3.30 -r3.31
--- RTIA/RTIA_network.cc 20 Nov 2008 18:21:55 -0000 3.30
+++ RTIA/RTIA_network.cc 2 Apr 2009 19:58:12 -0000 3.31
@@ -18,7 +18,7 @@
// along with this program ; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// $Id: RTIA_network.cc,v 3.30 2008/11/20 18:21:55 approx Exp $
+// $Id: RTIA_network.cc,v 3.31 2009/04/02 19:58:12 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -52,7 +52,7 @@
{
D.Out(pdTrace,
"Receving Message from RTIG, type
NetworkMessage::MESSAGE_NULL(%f).",
- msg->getDate());
+ msg->getDate().getTime());
tm->update(msg->federate, msg->getDate());
delete msg ;
@@ -368,4 +368,4 @@
}} // namespace certi/rtia
-// $Id: RTIA_network.cc,v 3.30 2008/11/20 18:21:55 approx Exp $
+// $Id: RTIA_network.cc,v 3.31 2009/04/02 19:58:12 erk Exp $
Index: RTIA/TimeManagement.cc
===================================================================
RCS file: /sources/certi/certi/RTIA/TimeManagement.cc,v
retrieving revision 3.45
retrieving revision 3.46
diff -u -b -r3.45 -r3.46
--- RTIA/TimeManagement.cc 18 Sep 2008 14:41:27 -0000 3.45
+++ RTIA/TimeManagement.cc 2 Apr 2009 19:58:12 -0000 3.46
@@ -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.45 2008/09/18 14:41:27 gotthardp Exp $
+// $Id: TimeManagement.cc,v 3.46 2009/04/02 19:58:12 erk Exp $
// ----------------------------------------------------------------------------
#include <config.h>
@@ -107,11 +107,11 @@
comm->sendMessage(&msg);
lastNullMessageDate = heure_logique ;
- D.Out(pdDebug, "NULL message sent (Time = %f).", heure_logique) ;
+ D.Out(pdDebug, "NULL message sent (Time = %f).",
heure_logique.getTime()) ;
}
else {
D.Out(pdExcept, "NULL message not sent (Time = %f, Last = %f).",
- heure_logique, lastNullMessageDate);
+ heure_logique.getTime(), lastNullMessageDate.getTime());
}
}
@@ -497,11 +497,7 @@
_type_granted_state = AFTER_TAR_OR_NER ; // will be
- // FIXME Erk-->Pierre
- // We were changing lookahead value to epsilon
- // when doing zero lookahead I'd rather handle
- // _any_ near-to-zero lookahead as ZERO_LK
- if (0==RTIfedTime::fcmp(_lookahead_courant,0.0)) {
+ if (_lookahead_courant == 0.0) {
_type_granted_state = AFTER_TAR_OR_NER_WITH_ZERO_LK ;
}
@@ -572,7 +568,7 @@
else
dateMNET = (_LBTS <= dateTSO ? _LBTS : dateTSO) ;
- D.Out(pdRegister, "Minimum Next Event Time : %f.", dateMNET);
+ D.Out(pdRegister, "Minimum Next Event Time : %f.", dateMNET.getTime());
return dateMNET ;
}
@@ -597,7 +593,7 @@
if (_est_regulateur)
sendNullMessage(_heure_courante);
- D.Out(pdRegister, "New Lookahead : %f.", _lookahead_courant);
+ D.Out(pdRegister, "New Lookahead : %f.", _lookahead_courant.getTime());
}
}
@@ -680,7 +676,7 @@
// Modifier lookahead courant
_lookahead_courant = the_lookahead;
D.Out(pdDebug,
- "New lookahead = %f",_lookahead_courant);
+ "New lookahead = %f",_lookahead_courant.getTime());
// faudrait peut etre remplacer heure courante par le temps en parametre
msg.setDate(_heure_courante + _lookahead_courant);
@@ -722,35 +718,23 @@
bool
TimeManagement::testValidTime(FederationTime theTime)
{
- int compareResult;
- // FIXME Erk-->Pierre
- // We should use RTIfedTime object and not _plain_ double
- // value
if (_avancee_en_cours == PAS_D_AVANCEE) {
if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
- compareResult = RTIfedTime::fcmp(theTime,_heure_courante);
- // if theTime <= _heure_courante
- if (compareResult==-1 || compareResult==0)
+ if (theTime <= _heure_courante)
return false;
}
else { // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
- compareResult = RTIfedTime::fcmp(theTime,_heure_courante +
_lookahead_courant);
- // if theTime < _heure_courante + _lookahead_courant
- if (compareResult == -1)
+ if (theTime < _heure_courante + _lookahead_courant)
return false;
}
}
else {
if (_type_granted_state == AFTER_TAR_OR_NER_WITH_ZERO_LK) {
- compareResult = RTIfedTime::fcmp(theTime,date_avancee);
- // if theTime <= date_avancee
- if (compareResult==-1 || compareResult==0)
+ if (theTime <= date_avancee)
return false;
}
else { // AFTER_TAR_OR_NER or AFTER_TARA_OR_NARA
- compareResult = RTIfedTime::fcmp(theTime,date_avancee +
_lookahead_courant);
- // if (theTime < date_avancee + _lookahead_courant)
- if (compareResult == -1)
+ if (theTime < date_avancee + _lookahead_courant)
return false;
}
}
@@ -838,9 +822,9 @@
if (_est_contraint) {
// give a TSO message.
if (_LBTS == std::numeric_limits<double>::infinity())
- D.Out(pdDebug, "Logical time : %f, LBTS : infini.", date_avancee);
+ D.Out(pdDebug, "Logical time : %f, LBTS : infini.",
date_avancee.getTime());
else
- D.Out(pdDebug, "Logical time : %f, LBTS : %lf.", date_avancee,
_LBTS);
+ D.Out(pdDebug, "Logical time : %f, LBTS : %lf.",
date_avancee.getTime(), _LBTS.getTime());
min = (_LBTS<date_avancee)?(_LBTS):(date_avancee);
msg = queues->giveTsoMessage(min, msg_donne, msg_restant);
@@ -849,10 +833,10 @@
// if LBTS allows to give a timeAdvanceGrant.
if (_LBTS == std::numeric_limits<double>::infinity())
D.Out(pdDebug, "Logical time : %f, LBTS : infini, lookahead :
%f.",
- date_avancee, _lookahead_courant);
+ date_avancee.getTime(), _lookahead_courant.getTime());
else
D.Out(pdDebug, "Logical time : %15.12f, LBTS : %15.12f,
lookahead : %f.",
- date_avancee, _LBTS, _lookahead_courant);
+ date_avancee.getTime(), _LBTS.getTime(),
_lookahead_courant.getTime());
if ((date_avancee < _LBTS) ||
((date_avancee == _LBTS) && (_avancee_en_cours == TARA))) {
@@ -895,7 +879,7 @@
req.setFederationTime(logical_time);
D.Out(pdRegister, "timeAdvanceGrant sent to federate (time = %f).",
- req.getFederationTime());
+ req.getFederationTime().getTime());
_tick_state = TICK_NEXT; // indicate the callback was processed
@@ -920,15 +904,13 @@
if (_avancee_en_cours != PAS_D_AVANCEE)
e = e_TimeAdvanceAlreadyInProgress ;
- /* logical_time <_heure_courante */
- if (RTIfedTime::fcmp(logical_time ,_heure_courante) < 0)
+ if (logical_time < _heure_courante)
e = e_FederationTimeAlreadyPassed ;
- /* logical_time < _heure_courante + _lookahead_courant */
- if (RTIfedTime::fcmp(logical_time , _heure_courante +
_lookahead_courant)<0) {
+ if (logical_time < _heure_courante + _lookahead_courant) {
D.Out(pdDebug,"InvalidFederation time lkahead=%f, current=%f,
requested=%f",
- _lookahead_courant,_heure_courante,logical_time);
+
_lookahead_courant.getTime(),_heure_courante.getTime(),logical_time.getTime());
e = e_InvalidFederationTime ;
}
@@ -936,11 +918,7 @@
_type_granted_state = AFTER_TAR_OR_NER ; // will be
- // FIXME Erk-->Pierre
- // We were changing lookahead value to epsilon
- // when doing zero lookahead I'd rather handle
- // _any_ near-to-zero lookahead as ZERO_LK
- if (0==RTIfedTime::fcmp(_lookahead_courant,0.0)) {
+ if (_lookahead_courant == 0.0) {
_type_granted_state = AFTER_TAR_OR_NER_WITH_ZERO_LK ;
}
@@ -951,7 +929,7 @@
date_avancee = logical_time ;
D.Out(pdTrace, "timeAdvanceRequest accepted (asked time=%f).",
- date_avancee);
+ date_avancee.getTime());
}
else {
D.Out(pdExcept, "timeAdvanceRequest refused (exception = %d).", e);
@@ -987,7 +965,7 @@
date_avancee = logical_time ;
D.Out(pdTrace, "timeAdvanceRequestAvailable accepted (asked time=%f).",
- date_avancee);
+ date_avancee.getTime());
}
else {
D.Out(pdExcept, "timeAdvanceRequestAvailable refused (exception =
%d).", e);
@@ -997,4 +975,4 @@
}} // namespaces
-// $Id: TimeManagement.cc,v 3.45 2008/09/18 14:41:27 gotthardp Exp $
+// $Id: TimeManagement.cc,v 3.46 2009/04/02 19:58:12 erk Exp $
Index: libRTI/RTIfedTime.cc
===================================================================
RCS file: libRTI/RTIfedTime.cc
diff -N libRTI/RTIfedTime.cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ libRTI/RTIfedTime.cc 2 Apr 2009 19:58:06 -0000 3.1
@@ -0,0 +1,501 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2002-2006 ONERA
+//
+// This file is part of CERTI-libCERTI
+//
+// CERTI-libCERTI is free software ; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation ; either version 2 of
+// the License, or (at your option) any later version.
+//
+// CERTI-libCERTI is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY ; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// ----------------------------------------------------------------------------
+
+#include <math.h>
+
+#include "certi.hh"
+#include "fedtime.hh"
+#include "FedTimeD.hh"
+
+#include <algorithm>
+#include <limits>
+#include <sstream>
+#include <typeinfo>
+
+using std::stringstream ;
+
+namespace
+{
+
+// ----------------------------------------------------------------------------
+/** FedTime to RTIfedTime reference cast
+ */
+inline const RTIfedTime &
+rft(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ try {
+ return dynamic_cast<const RTIfedTime &>(time);
+ }
+ catch (std::bad_cast) {
+ //throw RTI::InvalidFederationTime("Could not cast to RTIfedTime");
+ }
+}
+
+inline bool
+is_infinity(const RTI::FedTime &time)
+{
+ return const_cast<RTI::FedTime &>(time).isPositiveInfinity() ==
RTI::RTI_TRUE ;
+}
+
+const char *infinity_str = "+inf" ;
+
+} // anonymous namespace
+
+// ----------------------------------------------------------------------------
+// FedTimeFactory
+RTI::FedTime *
+RTI::FedTimeFactory::makeZero()
+ throw (RTI::MemoryExhausted)
+{
+ try {
+ return new RTIfedTime();
+ }
+ catch (std::bad_alloc) {
+ //throw RTI::MemoryExhausted("Cannot allocate RTI::FedTime.");
+ }
+}
+
+RTI::FedTime *
+RTI::FedTimeFactory::decode(const char *buf)
+ throw (RTI::MemoryExhausted)
+{
+ try {
+ return new RTIfedTime(*(const RTI::Double*)buf);
+ }
+ catch (std::bad_alloc) {
+ //throw RTI::MemoryExhausted("Cannot allocate RTI::FedTime.");
+ }
+}
+
+// ----------------------------------------------------------------------------
+// RTIfedTime
+RTIfedTime::RTIfedTime()
+ : _fedTime(0),
+ _zero(0),
+ _epsilon(std::numeric_limits<double>::epsilon()),
+ _positiveInfinity(std::numeric_limits<double>::infinity()) { }
+
+RTIfedTime::RTIfedTime(const RTI::Double &time)
+ : _fedTime(time),
+ _zero(0),
+ _epsilon(std::numeric_limits<double>::epsilon()),
+ _positiveInfinity(std::numeric_limits<double>::infinity()) { }
+
+RTIfedTime::RTIfedTime(const RTI::FedTime &time)
+ : _fedTime(rft(time).getTime()),
+ _zero(0),
+ _epsilon(std::numeric_limits<double>::epsilon()),
+ _positiveInfinity(std::numeric_limits<double>::infinity()) { }
+
+// ----------------------------------------------------------------------------
+RTIfedTime::RTIfedTime(const RTIfedTime &time)
+ : FedTime(),
+ _fedTime(time._fedTime),
+ _zero(time._zero),
+ _epsilon(time._epsilon),
+ _positiveInfinity(time._positiveInfinity) { }
+
+// ----------------------------------------------------------------------------
+RTIfedTime::~RTIfedTime()
+{
+}
+
+// ----------------------------------------------------------------------------
+void
+RTIfedTime::setZero()
+{
+ _fedTime = _zero;
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::isZero()
+{
+ return RTI::Boolean(_fedTime == _zero);
+}
+
+// ----------------------------------------------------------------------------
+void
+RTIfedTime::setEpsilon()
+{
+ _fedTime = _epsilon;
+}
+
+// ----------------------------------------------------------------------------
+void
+RTIfedTime::setPositiveInfinity()
+{
+ _fedTime = _positiveInfinity;
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::isPositiveInfinity()
+{
+ return RTI::Boolean(_fedTime == _positiveInfinity);
+}
+
+// ----------------------------------------------------------------------------
+int
+RTIfedTime::encodedLength() const
+{
+ // current implementation of RTIfedtime takes
+ // four IEEE-754 double values.
+ return (sizeof(_fedTime)+
+ sizeof(_zero)+
+ sizeof(_epsilon)+
+ sizeof(_positiveInfinity));
+}
+
+// ----------------------------------------------------------------------------
+void
+RTIfedTime::encode(char *buffer) const
+{
+ memcpy(buffer, &_fedTime, sizeof(RTI::Double));
+}
+
+// ----------------------------------------------------------------------------
+int
+RTIfedTime::getPrintableLength() const
+{
+ stringstream s ;
+
+ if (is_infinity(*this))
+ s << infinity_str ;
+ else
+ s << _fedTime ;
+
+ return s.str().length() + 1 ;
+}
+
+// ----------------------------------------------------------------------------
+void
+RTIfedTime::getPrintableString(char *str)
+{
+ stringstream s ;
+
+ if (is_infinity(*this))
+ s << infinity_str ;
+ else
+ s << _fedTime ;
+
+ s >> str ;
+ str[s.str().length()] = 0 ;
+}
+
+// ----------------------------------------------------------------------------
+RTI::FedTime &
+RTIfedTime::operator+=(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime += rft(time)._fedTime ;
+ return *this;
+}
+
+// ----------------------------------------------------------------------------
+RTI::FedTime &
+RTIfedTime::operator-=(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime -= rft(time)._fedTime ;
+ return *this;
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator<=(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ if (const_cast<RTI::FedTime &>(time).isPositiveInfinity())
+ return RTI::RTI_TRUE ;
+ else if (is_infinity(*this))
+ return RTI::RTI_FALSE ;
+ else
+ return RTI::Boolean(certi::fcmp(_fedTime, rft(time)._fedTime, _epsilon)
<= 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator<(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ if (is_infinity(*this))
+ return RTI::RTI_FALSE ;
+ else
+ return RTI::Boolean(is_infinity(time) || certi::fcmp(_fedTime,
rft(time)._fedTime, _epsilon) < 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator>=(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ if (is_infinity(*this))
+ return RTI::RTI_TRUE ;
+ else if (is_infinity(time))
+ return RTI::RTI_FALSE ;
+ else
+ return RTI::Boolean(certi::fcmp(_fedTime, rft(time)._fedTime, _epsilon)
>= 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator>(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ if (is_infinity(time))
+ return RTI::RTI_FALSE ;
+ else
+ return RTI::Boolean(is_infinity(*this) || certi::fcmp(_fedTime,
rft(time)._fedTime, _epsilon) > 0);
+}
+
+// ----------------------------------------------------------------------------
+inline RTI::Boolean
+RTIfedTime::operator==(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ if (is_infinity(*this) && is_infinity(time))
+ return RTI::RTI_TRUE ;
+ else if (is_infinity(*this) || is_infinity(time))
+ return RTI::RTI_FALSE ;
+ else
+ return RTI::Boolean(certi::fcmp(_fedTime, rft(time)._fedTime, _epsilon)
== 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::FedTime &
+RTIfedTime::operator=(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime = rft(time)._fedTime ;
+ return *this ;
+}
+
+// ----------------------------------------------------------------------------
+RTI::Double
+RTIfedTime::getTime() const
+{
+ return _fedTime ;
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator==(const RTI::Double &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ return RTI::Boolean(!is_infinity(*this) && certi::fcmp(_fedTime, time,
_epsilon) == 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator!=(const RTI::FedTime &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ return RTI::Boolean(certi::fcmp(_fedTime, rft(time)._fedTime, _epsilon) !=
0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::Boolean
+RTIfedTime::operator!=(const RTI::Double &time) const
+ throw (RTI::InvalidFederationTime)
+{
+ return RTI::Boolean(is_infinity(*this) || certi::fcmp(_fedTime, time,
_epsilon) != 0);
+}
+
+// ----------------------------------------------------------------------------
+RTI::FedTime &
+RTIfedTime::operator=(const RTIfedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime = time._fedTime ;
+ return *this ;
+}
+
+// ----------------------------------------------------------------------------
+RTI::FedTime &
+RTIfedTime::operator=(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime = time ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator*=(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime *= rft(time)._fedTime ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator/=(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime /= rft(time)._fedTime ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator+=(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime += time ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator-=(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime -= time ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator*=(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime *= time ;
+ return *this ;
+}
+
+RTI::FedTime &
+RTIfedTime::operator/=(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ _fedTime /= time ;
+ return *this ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+RTIfedTime::operator+(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime + rft(time)._fedTime ;
+ return fedtime ;
+}
+
+RTIfedTime
+RTIfedTime::operator+(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime + time ;
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+RTIfedTime::operator-(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime - rft(time)._fedTime ;
+ return fedtime ;
+}
+
+RTIfedTime
+RTIfedTime::operator-(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime - time ;
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+RTIfedTime::operator*(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime * rft(time)._fedTime ;
+ return fedtime ;
+}
+
+RTIfedTime
+RTIfedTime::operator*(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime * time ;
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+RTIfedTime::operator/(const RTI::FedTime &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime / rft(time)._fedTime ;
+ return fedtime ;
+}
+
+RTIfedTime
+RTIfedTime::operator/(const RTI::Double &time)
+ throw (RTI::InvalidFederationTime)
+{
+ RTIfedTime fedtime = _fedTime / time ;
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+std::ostream &
+operator<<(std::ostream &s, const RTI::FedTime &time)
+{
+ if (is_infinity(time))
+ s << infinity_str ;
+ else
+ s << rft(time).getTime();
+ return s ;
+}
+
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+operator+(const RTI::Double &d, const RTI::FedTime &time)
+{
+ RTIfedTime fedtime = d + rft(time).getTime();
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+operator-(const RTI::Double &d, const RTI::FedTime &time)
+{
+ RTIfedTime fedtime = d - rft(time).getTime();
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+operator*(const RTI::Double &d, const RTI::FedTime &time)
+{
+ RTIfedTime fedtime = d * rft(time).getTime();
+ return fedtime ;
+}
+
+// ----------------------------------------------------------------------------
+RTIfedTime
+operator/(const RTI::Double &d, const RTI::FedTime &time)
+{
+ RTIfedTime fedtime = d / rft(time).getTime();
+ return fedtime ;
+}
Index: libCERTI/FedTimeD.hh
===================================================================
RCS file: libCERTI/FedTimeD.hh
diff -N libCERTI/FedTimeD.hh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ libCERTI/FedTimeD.hh 2 Apr 2009 19:58:09 -0000 4.1
@@ -0,0 +1,187 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2002-2005 ONERA
+//
+// This file is part of CERTI-libCERTI
+//
+// CERTI-libCERTI is free software ; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation ; either version 2 of
+// the License, or (at your option) any later version.
+//
+// CERTI-libCERTI is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY ; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// 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: FedTimeD.hh,v 4.1 2009/04/02 19:58:09 erk Exp $
+// ----------------------------------------------------------------------------
+
+#ifndef CERTI_FEDTIMED_HH
+#define CERTI_FEDTIMED_HH
+
+#include "certi.hh"
+
+#include <math.h>
+#include <ostream>
+
+namespace certi {
+
+/*
+ fcmp
+ Copyright (c) 1998-2000 Theodore C. Belding
+ University of Michigan Center for the Study of Complex Systems
+ <mailto:address@hidden>
+ <http://fcmp.sourceforge.net>
+
+ This file is part of the fcmp distribution. fcmp is free software;
+ you can redistribute and modify it under the terms of the GNU Library
+ General Public License (LGPL), version 2 or later. This software
+ comes with absolutely no warranty. See the file COPYING for details
+ and terms of copying.
+
+ Description:
+
+ Knuth's floating point comparison operators, from:
+ Knuth, D. E. (1998). The Art of Computer Programming.
+ Volume 2: Seminumerical Algorithms. 3rd ed. Addison-Wesley.
+ Section 4.2.2, p. 233. ISBN 0-201-89684-2.
+
+ Input parameters:
+ x1, x2: numbers to be compared
+ epsilon: determines tolerance
+
+ epsilon should be carefully chosen based on the machine's precision,
+ the observed magnitude of error, the desired precision, and the
+ magnitude of the numbers to be compared. See the fcmp README file for
+ more information.
+
+ This routine may be used for both single-precision (float) and
+ double-precision (double) floating-point numbers.
+
+ Returns:
+ -1 if x1 < x2
+ 0 if x1 == x2
+ 1 if x1 > x2
+*/
+
+inline int
+fcmp(double x1,double x2, double epsilon)
+{
+ int exponent;
+ double delta;
+ double difference;
+
+ /* Get exponent(max(fabs(x1), fabs(x2))) and store it in exponent. */
+
+ /* If neither x1 nor x2 is 0, */
+ /* this is equivalent to max(exponent(x1), exponent(x2)). */
+
+ /* If either x1 or x2 is 0, its exponent returned by frexp would be 0, */
+ /* which is much larger than the exponents of numbers close to 0 in */
+ /* magnitude. But the exponent of 0 should be less than any number */
+ /* whose magnitude is greater than 0. */
+
+ /* So we only want to set exponent to 0 if both x1 and */
+ /* x2 are 0. Hence, the following works for all x1 and x2. */
+
+ frexp(fabs(x1) > fabs(x2) ? x1 : x2, &exponent);
+
+ /* Do the comparison. */
+
+ /* delta = epsilon * pow(2, exponent) */
+
+ /* Form a neighborhood around x2 of size delta in either direction. */
+ /* If x1 is within this delta neighborhood of x2, x1 == x2. */
+ /* Otherwise x1 > x2 or x1 < x2, depending on which side of */
+ /* the neighborhood x1 is on. */
+
+ delta = ldexp(epsilon, exponent);
+
+ difference = x1 - x2;
+
+ if (difference > delta)
+ return 1; /* x1 > x2 */
+ else if (difference < -delta)
+ return -1; /* x1 < x2 */
+ else /* -delta <= difference <= delta */
+ return 0; /* x1 == x2 */
+}
+
+class CERTI_EXPORT FedTime
+{
+public:
+ static const double epsilon;
+ static int fcmp(const double x1, const double x2);
+
+ FedTime();
+ FedTime(const double &);
+ FedTime(const FedTime &);
+ ~FedTime();
+
+public:
+ void setZero();
+ bool isZero();
+ void setEpsilon();
+ void setPositiveInfinity();
+ bool isPositiveInfinity() const;
+ int encodedLength() const;
+ void encode(char *) const;
+ int getPrintableLength() const;
+ void getPrintableString(char *);
+ double getTime() const;
+
+ FedTime& operator+=(const FedTime &);
+ FedTime& operator-=(const FedTime &);
+ bool operator<=(const FedTime &) const;
+ bool operator<(const FedTime &) const;
+ bool operator>=(const FedTime &) const;
+ bool operator>(const FedTime &) const;
+ bool operator==(const FedTime &) const;
+ bool operator==(const double &) const;
+ bool operator!=(const FedTime &) const;
+ bool operator!=(const double &) const;
+ FedTime &operator=(const FedTime &);
+ FedTime &operator=(const double &);
+ FedTime &operator*=(const FedTime &);
+ FedTime &operator/=(const FedTime &);
+ FedTime &operator+=(const double &);
+ FedTime &operator-=(const double &);
+ FedTime &operator*=(const double &);
+ FedTime &operator/=(const double &);
+ FedTime operator+(const FedTime &);
+ FedTime operator+(const double &);
+ FedTime operator-(const FedTime &);
+ FedTime operator-(const double &);
+ FedTime operator*(const FedTime &);
+ FedTime operator*(const double &);
+ FedTime operator/(const FedTime &);
+ FedTime operator/(const double &);
+
+ friend std::ostream CERTI_EXPORT &operator<<(std::ostream&, const FedTime
&time);
+
+private:
+ double _fedTime ;
+ double _zero ;
+ double _epsilon ;
+ double _positiveInfinity ;
+};
+
+FedTime operator+(const double &, const FedTime &);
+FedTime operator-(const double &, const FedTime &);
+FedTime operator*(const double &, const FedTime &);
+FedTime operator/(const double &, const FedTime &);
+
+typedef FedTime FederationTime;
+typedef FedTime FederationTimeDelta;
+
+} // namespace certi
+
+#endif // CERTI_FEDTIMED_HH
+
+// $Id: FedTimeD.hh,v 4.1 2009/04/02 19:58:09 erk Exp $
Index: .project
===================================================================
RCS file: .project
diff -N .project
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .project 2 Apr 2009 19:58:11 -0000 1.1
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>certi-HEAD</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>make</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.buildLocation</key>
+
<value>${workspace_loc:/certi-HEAD}/build</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.contents</key>
+
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>false</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ </natures>
+</projectDescription>
Index: .cproject
===================================================================
RCS file: .cproject
diff -N .cproject
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .cproject 2 Apr 2009 19:58:12 -0000 1.1
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject>
+<storageModule moduleId="org.eclipse.cdt.core.settings">
+<cconfiguration
id="preference.org.eclipse.cdt.managedbuilder.core.configurationDataProvider.1591285360">
+<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+<configuration artifactName="certi-HEAD" buildProperties="" description=""
id="preference.org.eclipse.cdt.managedbuilder.core.configurationDataProvider.1591285360"
name="Preference Configuration"
parent="org.eclipse.cdt.build.core.prefbase.cfg">
+<folderInfo
id="preference.org.eclipse.cdt.managedbuilder.core.configurationDataProvider.1591285360."
name="/" resourcePath="">
+<toolChain id="org.eclipse.cdt.build.core.prefbase.toolchain.1128261413"
name="No ToolChain" resourceTypeBasedDiscovery="false"
superClass="org.eclipse.cdt.build.core.prefbase.toolchain">
+<targetPlatform
binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.GNU_ELF"
id="org.eclipse.cdt.build.core.prefbase.toolchain.1128261413.1208928197"
name=""/>
+<builder buildPath="${workspace_loc:/certi-HEAD}/build"
id="org.eclipse.cdt.build.core.settings.default.builder.143717028"
keepEnvironmentInBuildfile="false" name="Gnu Make Builder"
superClass="org.eclipse.cdt.build.core.settings.default.builder"/>
+<tool id="org.eclipse.cdt.build.core.settings.holder.libs.357046844"
name="holder for library settings"
superClass="org.eclipse.cdt.build.core.settings.holder.libs"/>
+<tool id="org.eclipse.cdt.build.core.settings.holder.566993849"
name="Assembly" superClass="org.eclipse.cdt.build.core.settings.holder">
+<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.384227497"
languageId="org.eclipse.cdt.core.assembly" languageName="Assembly"
sourceContentType="org.eclipse.cdt.core.asmSource"
superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+</tool>
+<tool id="org.eclipse.cdt.build.core.settings.holder.1781790919" name="GNU
C++" superClass="org.eclipse.cdt.build.core.settings.holder">
+<option id="org.eclipse.cdt.build.core.settings.holder.incpaths.469921941"
name="Include Paths"
superClass="org.eclipse.cdt.build.core.settings.holder.incpaths"
valueType="includePath">
+<listOptionValue builtIn="false"
value=""${workspace_loc:/certi-HEAD/build}""/>
+<listOptionValue builtIn="false"
value=""${workspace_loc:/certi-HEAD/include}""/>
+<listOptionValue builtIn="false"
value=""${workspace_loc:/certi-HEAD/libCERTI}""/>
+<listOptionValue builtIn="false"
value=""${workspace_loc:/certi-HEAD/libRTI}""/>
+<listOptionValue builtIn="false"
value=""${workspace_loc:/certi-HEAD/libHLA}""/>
+</option>
+<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.1438817323"
languageId="org.eclipse.cdt.core.g++" languageName="GNU C++"
sourceContentType="org.eclipse.cdt.core.cxxSource,org.eclipse.cdt.core.cxxHeader"
superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+</tool>
+<tool id="org.eclipse.cdt.build.core.settings.holder.138249484" name="GNU C"
superClass="org.eclipse.cdt.build.core.settings.holder">
+<inputType id="org.eclipse.cdt.build.core.settings.holder.inType.13479699"
languageId="org.eclipse.cdt.core.gcc" languageName="GNU C"
sourceContentType="org.eclipse.cdt.core.cSource,org.eclipse.cdt.core.cHeader"
superClass="org.eclipse.cdt.build.core.settings.holder.inType"/>
+</tool>
+</toolChain>
+</folderInfo>
+</configuration>
+</storageModule>
+<storageModule
buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
id="preference.org.eclipse.cdt.managedbuilder.core.configurationDataProvider.1591285360"
moduleId="org.eclipse.cdt.core.settings" name="Preference Configuration">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF"
point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.GNU_ELF"
point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.VCErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.MakeErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GASErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GLDErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+<storageModule
moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+<storageModule moduleId="scannerConfiguration">
+<autodiscovery enabled="true" problemReportingEnabled="true"
selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make"
useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<scannerConfigBuildInfo
instanceId="preference.org.eclipse.cdt.managedbuilder.core.configurationDataProvider.1591285360">
+<autodiscovery enabled="true" problemReportingEnabled="true"
selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="makefileGenerator">
+<runAction arguments="-f ${project_name}_scd.mk" command="make"
useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
command="g++" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+<profile
id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
+<buildOutputProvider>
+<openAction enabled="true" filePath=""/>
+<parser enabled="true"/>
+</buildOutputProvider>
+<scannerInfoProvider id="specsFile">
+<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
command="gcc" useDefault="true"/>
+<parser enabled="true"/>
+</scannerInfoProvider>
+</profile>
+</scannerConfigBuildInfo>
+</storageModule>
+<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
+<buildTargets>
+<target name="all" path="build"
targetID="org.eclipse.cdt.build.MakeTargetBuilder">
+<buildCommand>make</buildCommand>
+<buildArguments/>
+<buildTarget>all</buildTarget>
+<stopOnError>true</stopOnError>
+<useDefaultCommand>true</useDefaultCommand>
+<runAllBuilders>true</runAllBuilders>
+</target>
+<target name="install" path="build"
targetID="org.eclipse.cdt.build.MakeTargetBuilder">
+<buildCommand>make</buildCommand>
+<buildArguments/>
+<buildTarget>install</buildTarget>
+<stopOnError>true</stopOnError>
+<useDefaultCommand>true</useDefaultCommand>
+<runAllBuilders>true</runAllBuilders>
+</target>
+</buildTargets>
+</storageModule>
+</cconfiguration>
+</storageModule>
+<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+<project id="certi-HEAD.null.578849883" name="certi-HEAD"/>
+</storageModule>
+</cproject>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi libRTI/RTItypesImp.cc libRTI/RTItypes.cc ...,
certi-cvs <=