00001
00002
00003
00004 #ifndef RTITYPES_HH_INCLUDED
00005 #define RTITYPES_HH_INCLUDED
00006
00007 #define MAX_FEDERATION "macro variable is deprecated"
00008 #define MAX_FEDERATE "macro variable is deprecated"
00009 #define MAX_NAME_LENGTH "macro variable is deprecated"
00010 #define MAX_SPACES "macro variable is deprecated"
00011 #define MAX_OBJECT_CLASSES "macro variable is deprecated"
00012 #define MAX_INTERACTION_CLASSES "macro variable is deprecated"
00013 #define MAX_ATTRIBUTES_PER_CLASS "macro variable is deprecated"
00014 #define MAX_PARAMETERS_PER_CLASS "macro variable is deprecated"
00015 #define MAX_DIMENSIONS_PER_SPACE "macro variable is deprecated"
00016 #define DEFAULT_SPACE_NAME "defaultSpace"
00017 #define DEFAULT_SPACE_DIMENSION_NAME "dimension"
00018 #define MAX_USER_TAG_LENGTH "macro variable is deprecated"
00019
00020 #define RTI_VERSION "CERTI_3.2.3"
00021 #define RTI_INTERNAL_VERSION "CERTI_3.2.3"
00022
00023 #define RTI_MAJOR_VERSION 3
00024 #define RTI_MINOR_VERSION 2
00025 #define RTI_RELEASE 0
00026
00027 #define RTI_INTERNAL_MAJOR_VERSION 3
00028 #define RTI_INTERNAL_MINOR_VERSION 2
00029 #define RTI_INTERNAL_RELEASE 0
00030
00031 #define MAX_EXTENT ((RTI::ULong) ~0UL)
00032 #define MIN_EXTENT ((RTI::ULong) 0UL)
00033
00034 RTI_EXCEPT(ArrayIndexOutOfBounds)
00035 RTI_EXCEPT(AsynchronousDeliveryAlreadyDisabled)
00036 RTI_EXCEPT(AsynchronousDeliveryAlreadyEnabled)
00037 RTI_EXCEPT(AttributeAcquisitionWasNotRequested)
00038 RTI_EXCEPT(AttributeAcquisitionWasNotCanceled)
00039 RTI_EXCEPT(AttributeAlreadyBeingAcquired)
00040 RTI_EXCEPT(AttributeAlreadyBeingDivested)
00041 RTI_EXCEPT(AttributeAlreadyOwned)
00042 RTI_EXCEPT(AttributeDivestitureWasNotRequested)
00043 RTI_EXCEPT(AttributeNotDefined)
00044 RTI_EXCEPT(AttributeNotKnown)
00045 RTI_EXCEPT(AttributeNotOwned)
00046 RTI_EXCEPT(AttributeNotPublished)
00047 RTI_EXCEPT(ConcurrentAccessAttempted)
00048 RTI_EXCEPT(CouldNotDiscover)
00049 RTI_EXCEPT(CouldNotOpenFED)
00050 RTI_EXCEPT(CouldNotRestore)
00051 RTI_EXCEPT(DeletePrivilegeNotHeld)
00052 RTI_EXCEPT(DimensionNotDefined)
00053 RTI_EXCEPT(EnableTimeConstrainedPending)
00054 RTI_EXCEPT(EnableTimeConstrainedWasNotPending)
00055 RTI_EXCEPT(EnableTimeRegulationPending)
00056 RTI_EXCEPT(EnableTimeRegulationWasNotPending)
00057 RTI_EXCEPT(ErrorReadingFED)
00058 RTI_EXCEPT(EventNotKnown)
00059 RTI_EXCEPT(FederateAlreadyExecutionMember)
00060 RTI_EXCEPT(FederateInternalError)
00061 RTI_EXCEPT(FederateLoggingServiceCalls)
00062 RTI_EXCEPT(FederateNotExecutionMember)
00063 RTI_EXCEPT(FederateOwnsAttributes)
00064 RTI_EXCEPT(FederateWasNotAskedToReleaseAttribute)
00065 RTI_EXCEPT(FederatesCurrentlyJoined)
00066 RTI_EXCEPT(FederationExecutionAlreadyExists)
00067 RTI_EXCEPT(FederationExecutionDoesNotExist)
00068 RTI_EXCEPT(FederationTimeAlreadyPassed)
00069 RTI_EXCEPT(HandleValuePairMaximumExceeded)
00070 RTI_EXCEPT(InteractionClassNotDefined)
00071 RTI_EXCEPT(InteractionClassNotKnown)
00072 RTI_EXCEPT(InteractionClassNotPublished)
00073 RTI_EXCEPT(InteractionClassNotSubscribed)
00074 RTI_EXCEPT(InteractionParameterNotDefined)
00075 RTI_EXCEPT(InteractionParameterNotKnown)
00076 RTI_EXCEPT(InvalidExtents)
00077 RTI_EXCEPT(InvalidFederationTime)
00078 RTI_EXCEPT(InvalidHandleValuePairSetContext)
00079 RTI_EXCEPT(InvalidLookahead)
00080 RTI_EXCEPT(InvalidOrderingHandle)
00081 RTI_EXCEPT(InvalidRegionContext)
00082 RTI_EXCEPT(InvalidResignAction)
00083 RTI_EXCEPT(InvalidRetractionHandle)
00084 RTI_EXCEPT(InvalidTransportationHandle)
00085 RTI_EXCEPT(MemoryExhausted)
00086 RTI_EXCEPT(NameNotFound)
00087 RTI_EXCEPT(ObjectClassNotDefined)
00088 RTI_EXCEPT(ObjectClassNotKnown)
00089 RTI_EXCEPT(ObjectClassNotPublished)
00090 RTI_EXCEPT(ObjectClassNotSubscribed)
00091 RTI_EXCEPT(ObjectNotKnown)
00092 RTI_EXCEPT(ObjectAlreadyRegistered)
00093 RTI_EXCEPT(OwnershipAcquisitionPending)
00094 RTI_EXCEPT(RegionInUse)
00095 RTI_EXCEPT(RegionNotKnown)
00096 RTI_EXCEPT(RestoreInProgress)
00097 RTI_EXCEPT(RestoreNotRequested)
00098 RTI_EXCEPT(RTIinternalError)
00099 RTI_EXCEPT(SpaceNotDefined)
00100 RTI_EXCEPT(SaveInProgress)
00101 RTI_EXCEPT(SaveNotInitiated)
00102 RTI_EXCEPT(SpecifiedSaveLabelDoesNotExist)
00103 RTI_EXCEPT(SynchronizationPointLabelWasNotAnnounced)
00104 RTI_EXCEPT(TimeAdvanceAlreadyInProgress)
00105 RTI_EXCEPT(TimeAdvanceWasNotInProgress)
00106 RTI_EXCEPT(TimeConstrainedAlreadyEnabled)
00107 RTI_EXCEPT(TimeConstrainedWasNotEnabled)
00108 RTI_EXCEPT(TimeRegulationAlreadyEnabled)
00109 RTI_EXCEPT(TimeRegulationWasNotEnabled)
00110 RTI_EXCEPT(UnableToPerformSave)
00111 RTI_EXCEPT(ValueCountExceeded)
00112 RTI_EXCEPT(ValueLengthExceeded)
00113
00114 enum ResignAction {
00115 RELEASE_ATTRIBUTES = 1,
00116 DELETE_OBJECTS,
00117 DELETE_OBJECTS_AND_RELEASE_ATTRIBUTES,
00118 NO_ACTION
00119 };
00120
00121 class Region ;
00122 class FederateAmbassador ;
00123
00124 typedef FederateAmbassador *FederateAmbassadorPtr ;
00125 typedef Long SpaceHandle ;
00126 typedef ULong ObjectClassHandle ;
00127 typedef ULong InteractionClassHandle ;
00128 typedef ULong ExtentIndex ;
00129 typedef ULong Handle ;
00130 typedef Handle AttributeHandle ;
00131 typedef Handle ParameterHandle ;
00132 typedef Handle ObjectHandle ;
00133 typedef Handle DimensionHandle ;
00134 typedef ULong FederateHandle ;
00135 typedef Handle TransportationHandle ;
00136 typedef TransportationHandle TransportType ;
00137 typedef Handle OrderingHandle ;
00138 typedef OrderingHandle OrderType ;
00139 typedef ULong FederateID ;
00140 typedef ULong UniqueID ;
00141 typedef Double TickTime ;
00142 typedef ULong RegionToken ;
00143
00144 class RTI_EXPORT AttributeHandleValuePairSet
00145 {
00146 public:
00147 virtual ~AttributeHandleValuePairSet() {}
00148
00149 virtual ULong size() const = 0 ;
00150
00151 virtual Handle getHandle(ULong) const
00152 throw (ArrayIndexOutOfBounds) = 0 ;
00153
00154 virtual ULong getValueLength(ULong) const
00155 throw (ArrayIndexOutOfBounds) = 0 ;
00156
00157 virtual void getValue(ULong, char *, ULong &) const
00158 throw (ArrayIndexOutOfBounds) = 0 ;
00159
00160 virtual char *getValuePointer(ULong, ULong &) const
00161 throw (ArrayIndexOutOfBounds) = 0 ;
00162
00163 virtual TransportType getTransportType(ULong) const
00164 throw (InvalidHandleValuePairSetContext) = 0 ;
00165
00166 virtual OrderType getOrderType(ULong) const
00167 throw (ArrayIndexOutOfBounds, InvalidHandleValuePairSetContext) = 0 ;
00168
00169 virtual Region *getRegion(ULong) const
00170 throw (ArrayIndexOutOfBounds, InvalidHandleValuePairSetContext) = 0 ;
00171
00172 virtual void add(Handle, const char *, ULong)
00173 throw (ValueLengthExceeded, ValueCountExceeded) = 0 ;
00174
00175 virtual void remove(Handle h)
00176 throw (ArrayIndexOutOfBounds) = 0 ;
00177
00178 virtual void moveFrom(const AttributeHandleValuePairSet &, ULong &)
00179 throw (ValueCountExceeded, ArrayIndexOutOfBounds) = 0 ;
00180
00181 virtual void empty() = 0 ;
00182
00183 virtual ULong start() const = 0 ;
00184 virtual ULong valid(ULong i) const = 0 ;
00185 virtual ULong next(ULong i) const = 0 ;
00186 };
00187
00188 class RTI_EXPORT AttributeSetFactory
00189 {
00190 public:
00191 static AttributeHandleValuePairSet* create(ULong)
00192 throw (MemoryExhausted, ValueCountExceeded, HandleValuePairMaximumExceeded);
00193 };
00194
00195 class RTI_EXPORT AttributeHandleSet
00196 {
00197 public:
00198 virtual ~AttributeHandleSet() { }
00199
00200 virtual ULong size() const = 0 ;
00201
00202 virtual AttributeHandle getHandle(ULong) const
00203 throw (ArrayIndexOutOfBounds) = 0 ;
00204
00205 virtual void add(AttributeHandle)
00206 throw (ArrayIndexOutOfBounds, AttributeNotDefined) = 0 ;
00207
00208 virtual void remove(AttributeHandle)
00209 throw (AttributeNotDefined) = 0 ;
00210
00211 virtual void empty() = 0 ;
00212
00213 virtual Boolean isEmpty() const = 0 ;
00214 virtual Boolean isMember(AttributeHandle h) const = 0 ;
00215 };
00216
00217 class RTI_EXPORT AttributeHandleSetFactory
00218 {
00219 public:
00220 static AttributeHandleSet *create(ULong)
00221 throw(MemoryExhausted, ValueCountExceeded);
00222 };
00223
00224 class RTI_EXPORT FederateHandleSet
00225 {
00226 public:
00227 virtual ~FederateHandleSet() { }
00228
00229 virtual ULong size() const = 0 ;
00230
00231 virtual FederateHandle getHandle(ULong) const
00232 throw (ArrayIndexOutOfBounds) = 0 ;
00233
00234 virtual void add(FederateHandle)
00235 throw (ValueCountExceeded) = 0 ;
00236
00237 virtual void remove(FederateHandle)
00238 throw (ArrayIndexOutOfBounds) = 0 ;
00239
00240 virtual void empty() = 0 ;
00241
00242 virtual Boolean isMember(FederateHandle) const = 0 ;
00243 };
00244
00245 class RTI_EXPORT FederateHandleSetFactory
00246 {
00247 public:
00248 static FederateHandleSet *create(ULong)
00249 throw (MemoryExhausted, ValueCountExceeded);
00250 };
00251
00252 class RTI_EXPORT ParameterHandleValuePairSet
00253 {
00254 public:
00255 virtual ~ParameterHandleValuePairSet() { }
00256
00257 virtual ULong size() const = 0 ;
00258
00259 virtual Handle getHandle(ULong) const
00260 throw (ArrayIndexOutOfBounds) = 0 ;
00261
00262 virtual ULong getValueLength(ULong) const
00263 throw (ArrayIndexOutOfBounds) = 0 ;
00264
00265 virtual void getValue(ULong, char *, ULong &) const
00266 throw (ArrayIndexOutOfBounds) = 0 ;
00267
00268 virtual char *getValuePointer(ULong, ULong &) const
00269 throw (ArrayIndexOutOfBounds) = 0 ;
00270
00271 virtual TransportType getTransportType() const
00272 throw (InvalidHandleValuePairSetContext) = 0 ;
00273
00274 virtual OrderType getOrderType() const
00275 throw (InvalidHandleValuePairSetContext) = 0 ;
00276
00277 virtual Region *getRegion() const
00278 throw (InvalidHandleValuePairSetContext) = 0 ;
00279
00280 virtual void add(Handle, const char *, ULong)
00281 throw (ValueLengthExceeded, ValueCountExceeded) = 0 ;
00282
00283 virtual void remove(Handle)
00284 throw (ArrayIndexOutOfBounds) = 0 ;
00285
00286 virtual void moveFrom(const ParameterHandleValuePairSet &, ULong &)
00287 throw (ValueCountExceeded, ArrayIndexOutOfBounds) = 0 ;
00288
00289 virtual void empty() = 0 ;
00290
00291 virtual ULong start() const = 0 ;
00292 virtual ULong valid(ULong i) const = 0 ;
00293 virtual ULong next(ULong i) const = 0 ;
00294 };
00295
00296 class RTI_EXPORT ParameterSetFactory
00297 {
00298 public:
00299 static ParameterHandleValuePairSet *create(ULong)
00300 throw (MemoryExhausted, ValueCountExceeded, HandleValuePairMaximumExceeded);
00301 };
00302
00303 class RTI_EXPORT Region
00304 {
00305 public:
00306 virtual ~Region() { }
00307
00308 virtual ULong getRangeLowerBound(ExtentIndex, DimensionHandle) const
00309 throw (ArrayIndexOutOfBounds) = 0 ;
00310
00311 virtual ULong getRangeUpperBound(ExtentIndex, DimensionHandle) const
00312 throw (ArrayIndexOutOfBounds) = 0 ;
00313
00314 virtual void setRangeLowerBound(ExtentIndex, DimensionHandle, ULong)
00315 throw (ArrayIndexOutOfBounds) = 0 ;
00316
00317 virtual void setRangeUpperBound(ExtentIndex, DimensionHandle, ULong)
00318 throw (ArrayIndexOutOfBounds) = 0 ;
00319
00320 virtual SpaceHandle getSpaceHandle() const
00321 throw () = 0 ;
00322
00323 virtual ULong getNumberOfExtents() const
00324 throw () = 0 ;
00325
00326 virtual ULong getRangeLowerBoundNotificationLimit(ExtentIndex, DimensionHandle) const
00327 throw (ArrayIndexOutOfBounds) = 0 ;
00328
00329 virtual ULong getRangeUpperBoundNotificationLimit(ExtentIndex, DimensionHandle) const
00330 throw (ArrayIndexOutOfBounds) = 0 ;
00331 } ;
00332
00333 class FEDTIME_EXPORT FedTime
00334 {
00335 public:
00336 virtual ~FedTime(){};
00337
00338 virtual void setZero() = 0 ;
00339 virtual Boolean isZero() = 0 ;
00340 virtual void setEpsilon() = 0 ;
00341 virtual void setPositiveInfinity() = 0 ;
00342 virtual Boolean isPositiveInfinity() = 0 ;
00343
00344 virtual FedTime &operator+=(const FedTime &)
00345 throw (InvalidFederationTime) = 0 ;
00346
00347 virtual FedTime &operator-=(const FedTime &)
00348 throw (InvalidFederationTime) = 0 ;
00349
00350 virtual Boolean operator<=(const FedTime &) const
00351 throw (InvalidFederationTime) = 0 ;
00352
00353 virtual Boolean operator<(const FedTime &) const
00354 throw (InvalidFederationTime) = 0 ;
00355
00356 virtual Boolean operator>=(const FedTime &) const
00357 throw (InvalidFederationTime) = 0 ;
00358
00359 virtual Boolean operator>(const FedTime &) const
00360 throw (InvalidFederationTime) = 0 ;
00361
00362 virtual Boolean operator==(const FedTime &) const
00363 throw (InvalidFederationTime) = 0 ;
00364
00365 virtual FedTime &operator=(const FedTime &)
00366 throw (InvalidFederationTime) = 0 ;
00367
00368 virtual int encodedLength() const = 0 ;
00369 virtual void encode(char *) const = 0 ;
00370 virtual int getPrintableLength() const = 0 ;
00371 virtual void getPrintableString(char *) = 0 ;
00372 };
00373
00374 class FEDTIME_EXPORT FedTimeFactory
00375 {
00376 public:
00377 static RTI::FedTime *makeZero()
00378 throw (RTI::MemoryExhausted);
00379
00380 static RTI::FedTime* decode(const char *buf)
00381 throw (RTI::MemoryExhausted);
00382 };
00383
00384 struct EventRetractionHandle_s {
00385 UniqueID theSerialNumber ;
00386 FederateHandle sendingFederate ;
00387 };
00388
00389 typedef struct EventRetractionHandle_s EventRetractionHandle ;
00390
00391 #endif // RTITYPES_HH_INCLUDED
00392
00393