![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /*********************************************************************** 00002 The IEEE hereby grants a general, royalty-free license to copy, distribute, 00003 display and make derivative works from this material, for all purposes, 00004 provided that any use of the material contains the following 00005 attribution: "Reprinted with permission from IEEE 1516.1(TM)-2010". 00006 Should you require additional information, contact the Manager, Standards 00007 Intellectual Property, IEEE Standards Association (stds-ipr@ieee.org). 00008 ***********************************************************************/ 00009 /*********************************************************************** 00010 IEEE 1516.1 High Level Architecture Interface Specification C++ API 00011 File: RTI/time/HLAinteger64TimeFactory.h 00012 ***********************************************************************/ 00013 00014 #ifndef RTI_HLAinteger64TimeFactory_H_ 00015 #define RTI_HLAinteger64TimeFactory_H_ 00016 00017 #include <RTI/LogicalTimeFactory.h> 00018 #include <RTI/encoding/EncodingConfig.h> 00019 00020 00021 // Defines interface for HLAinteger64TimeFactory which presents an integer-based 00022 // time /interval representation in the range 0 - 2^63-1. 00023 00024 namespace rti1516e 00025 { 00026 const std::wstring HLAinteger64TimeName(L"HLAinteger64Time"); 00027 00028 class HLAinteger64Time; 00029 class HLAinteger64Interval; 00030 00031 class RTI_EXPORT HLAinteger64TimeFactory : public rti1516e::LogicalTimeFactory 00032 { 00033 public: 00034 HLAinteger64TimeFactory (); 00035 00036 virtual ~HLAinteger64TimeFactory () 00037 throw(); 00038 00039 // Return a LogicalTime with a value of "initial" 00040 virtual std::auto_ptr< LogicalTime > makeInitial() 00041 throw (InternalError); 00042 00043 // Return a LogicalTime with a value of "final" 00044 virtual std::auto_ptr< LogicalTime > makeFinal() 00045 throw (InternalError); 00046 00047 // Return a LogicalTimeInterval with a value of "zero" 00048 virtual std::auto_ptr< LogicalTimeInterval > makeZero() 00049 throw (InternalError); 00050 00051 // Return a LogicalTimeInterval with a value of "epsilon" 00052 virtual std::auto_ptr< LogicalTimeInterval > makeEpsilon() 00053 throw (InternalError); 00054 00055 virtual std::auto_ptr< HLAinteger64Time > makeLogicalTime ( 00056 Integer64 value) 00057 throw (rti1516e::InternalError); 00058 00059 virtual std::auto_ptr< HLAinteger64Interval > makeLogicalTimeInterval ( 00060 Integer64 value) 00061 throw (rti1516e::InternalError); 00062 00063 // LogicalTime decode from an encoded LogicalTime 00064 virtual std::auto_ptr< LogicalTime > decodeLogicalTime ( 00065 VariableLengthData const & encodedLogicalTime) 00066 throw (InternalError, 00067 CouldNotDecode); 00068 00069 // Alternate LogicalTime decode that reads directly from a buffer 00070 virtual std::auto_ptr< LogicalTime > decodeLogicalTime ( 00071 void* buffer, 00072 size_t bufferSize) 00073 throw (InternalError, 00074 CouldNotDecode); 00075 00076 // LogicalTimeInterval decode from an encoded LogicalTimeInterval 00077 virtual std::auto_ptr< LogicalTimeInterval > decodeLogicalTimeInterval ( 00078 VariableLengthData const & encodedValue) 00079 throw (InternalError, 00080 CouldNotDecode); 00081 00082 // Alternate LogicalTimeInterval decode that reads directly from a buffer 00083 virtual std::auto_ptr< LogicalTimeInterval > decodeLogicalTimeInterval ( 00084 void* buffer, 00085 size_t bufferSize) 00086 throw (InternalError, 00087 CouldNotDecode); 00088 00089 virtual std::wstring getName () const; 00090 }; 00091 } 00092 00093 #endif // RTI_HLAinteger64TimeFactory_H_ 00094