![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: momWrapper.h,v $ $Revision: 1.11 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtMomWrapper_H_ 00013 #define DtMomWrapper_H_ 00014 #ifdef DtMOM 00015 #ifdef DtIFSPEC13 00016 00017 #include "fedAmbWrap.h" 00018 #include "momArgument.h" 00019 class DtMomMgr; 00020 00021 namespace MAKRti 00022 { 00023 class DtString; 00024 } 00025 00026 00027 class DtMomWrapper : public DtFedAmbWrapper 00028 { 00029 public: 00030 00032 DtMomWrapper( DtMomMgr* momMgrPtr ); 00033 00035 virtual ~DtMomWrapper() throw (RTI::FederateInternalError); 00036 00037 00038 virtual DtMomMgr* momMgr(); 00039 00041 virtual void reset(); 00042 00045 virtual unsigned long objectRemoveCount() const; 00046 00049 virtual unsigned long objectDiscoverCount() const; 00050 00052 00053 00055 virtual void synchronizationPointRegistrationSucceeded ( 00056 const char* label ) 00057 throw ( 00058 RTI::FederateInternalError ); 00059 00060 virtual void synchronizationPointRegistrationFailed ( 00061 const char* label ) 00062 throw ( 00063 RTI::FederateInternalError ); 00064 00066 virtual void announceSynchronizationPoint ( 00067 const char* label, 00068 const char* tag ) 00069 throw ( 00070 RTI::FederateInternalError ); 00071 00073 virtual void federationSynchronized ( 00074 const char* label ) 00075 throw ( 00076 RTI::FederateInternalError ); 00077 00079 virtual void initiateFederateSave ( 00080 const char* label ) 00081 throw ( 00082 RTI::UnableToPerformSave, 00083 RTI::FederateInternalError ); 00084 00086 virtual void federationSaved () 00087 throw ( 00088 RTI::FederateInternalError); 00089 00090 virtual void federationNotSaved () 00091 throw ( 00092 RTI::FederateInternalError ); 00093 00095 virtual void requestFederationRestoreSucceeded ( 00096 const char* label ) 00097 throw ( 00098 RTI::FederateInternalError); 00099 00100 virtual void requestFederationRestoreFailed ( 00101 const char* label, 00102 const char* reason ) 00103 throw ( 00104 RTI::FederateInternalError ); 00105 00107 virtual void federationRestoreBegun () 00108 throw ( 00109 RTI::FederateInternalError ); 00110 00112 virtual void initiateFederateRestore ( 00113 const char* label, 00114 RTI::FederateHandle handle ) 00115 throw ( 00116 RTI::SpecifiedSaveLabelDoesNotExist, 00117 RTI::CouldNotRestore, 00118 RTI::FederateInternalError ); 00119 00121 virtual void federationRestored () 00122 throw ( 00123 RTI::FederateInternalError ); 00124 00125 virtual void federationNotRestored () 00126 throw ( 00127 RTI::FederateInternalError ); 00129 00131 00132 00134 virtual void startRegistrationForObjectClass ( 00135 RTI::ObjectClassHandle theClass ) 00136 throw ( 00137 RTI::ObjectClassNotPublished, 00138 RTI::FederateInternalError ); 00139 00141 virtual void stopRegistrationForObjectClass ( 00142 RTI::ObjectClassHandle theClass ) 00143 throw ( 00144 RTI::ObjectClassNotPublished, 00145 RTI::FederateInternalError ); 00146 00148 virtual void turnInteractionsOn ( 00149 RTI::InteractionClassHandle theHandle ) 00150 throw ( 00151 RTI::InteractionClassNotPublished, 00152 RTI::FederateInternalError ); 00153 00155 virtual void turnInteractionsOff ( 00156 RTI::InteractionClassHandle theHandle ) 00157 throw ( 00158 RTI::InteractionClassNotPublished, 00159 RTI::FederateInternalError ); 00161 00163 00164 00166 virtual void discoverObjectInstance ( 00167 RTI::ObjectHandle theObject, 00168 RTI::ObjectClassHandle theObjectClass, 00169 const char* theObjectName ) 00170 throw ( 00171 RTI::CouldNotDiscover, 00172 RTI::ObjectClassNotKnown, 00173 RTI::FederateInternalError ); 00174 00176 virtual void reflectAttributeValues ( 00177 RTI::ObjectHandle theObject, 00178 const RTI::AttributeHandleValuePairSet& theAttributes, 00179 const RTI::FedTime& theTime, 00180 const char* theTag, 00181 RTI::EventRetractionHandle theHandle) 00182 throw ( 00183 RTI::ObjectNotKnown, 00184 RTI::AttributeNotKnown, 00185 RTI::FederateOwnsAttributes, 00186 RTI::InvalidFederationTime, 00187 RTI::FederateInternalError ); 00188 00189 virtual void reflectAttributeValues ( 00190 RTI::ObjectHandle theObject, 00191 const RTI::AttributeHandleValuePairSet& theAttributes, 00192 const char* theTag ) 00193 throw ( 00194 RTI::ObjectNotKnown, 00195 RTI::AttributeNotKnown, 00196 RTI::FederateOwnsAttributes, 00197 RTI::FederateInternalError ); 00198 00200 virtual void receiveInteraction ( 00201 RTI::InteractionClassHandle theInteraction, 00202 const RTI::ParameterHandleValuePairSet& theParameters, 00203 const RTI::FedTime& theTime, 00204 const char* theTag, 00205 RTI::EventRetractionHandle theHandle ) 00206 throw ( 00207 RTI::InteractionClassNotKnown, 00208 RTI::InteractionParameterNotKnown, 00209 RTI::InvalidFederationTime, 00210 RTI::FederateInternalError ); 00211 00212 virtual void receiveInteraction ( 00213 RTI::InteractionClassHandle theInteraction, 00214 const RTI::ParameterHandleValuePairSet& theParameters, 00215 const char* theTag ) 00216 throw ( 00217 RTI::InteractionClassNotKnown, 00218 RTI::InteractionParameterNotKnown, 00219 RTI::FederateInternalError ); 00220 00222 virtual void removeObjectInstance ( 00223 RTI::ObjectHandle theObject, 00224 const RTI::FedTime& theTime, 00225 const char* theTag, 00226 RTI::EventRetractionHandle theHandle ) 00227 throw ( 00228 RTI::ObjectNotKnown, 00229 RTI::InvalidFederationTime, 00230 RTI::FederateInternalError ); 00231 00232 virtual void removeObjectInstance ( 00233 RTI::ObjectHandle theObject, 00234 const char* theTag ) 00235 throw ( 00236 RTI::ObjectNotKnown, 00237 RTI::FederateInternalError ); 00238 00240 virtual void attributesInScope ( 00241 RTI::ObjectHandle theObject, 00242 const RTI::AttributeHandleSet& theAttributes) 00243 throw ( 00244 RTI::ObjectNotKnown, 00245 RTI::AttributeNotKnown, 00246 RTI::FederateInternalError ); 00247 00249 virtual void attributesOutOfScope ( 00250 RTI::ObjectHandle theObject, 00251 const RTI::AttributeHandleSet& theAttributes ) 00252 throw ( 00253 RTI::ObjectNotKnown, 00254 RTI::AttributeNotKnown, 00255 RTI::FederateInternalError ); 00256 00258 virtual void provideAttributeValueUpdate ( 00259 RTI::ObjectHandle theObject, 00260 const RTI::AttributeHandleSet& theAttributes ) 00261 throw ( 00262 RTI::ObjectNotKnown, 00263 RTI::AttributeNotKnown, 00264 RTI::AttributeNotOwned, 00265 RTI::FederateInternalError ); 00266 00268 virtual void turnUpdatesOnForObjectInstance ( 00269 RTI::ObjectHandle theObject, 00270 const RTI::AttributeHandleSet& theAttributes ) 00271 throw ( 00272 RTI::ObjectNotKnown, 00273 RTI::AttributeNotOwned, 00274 RTI::FederateInternalError ); 00275 00277 virtual void turnUpdatesOffForObjectInstance ( 00278 RTI::ObjectHandle theObject, 00279 const RTI::AttributeHandleSet& theAttributes ) 00280 throw ( 00281 RTI::ObjectNotKnown, 00282 RTI::AttributeNotOwned, 00283 RTI::FederateInternalError ); 00285 00287 00288 00290 virtual void requestAttributeOwnershipAssumption ( 00291 RTI::ObjectHandle theObject, 00292 const RTI::AttributeHandleSet& offeredAttributes, 00293 const char* theTag ) 00294 throw ( 00295 RTI::ObjectNotKnown, 00296 RTI::AttributeNotKnown, 00297 RTI::AttributeAlreadyOwned, 00298 RTI::AttributeNotPublished, 00299 RTI::FederateInternalError ); 00300 00302 virtual void attributeOwnershipDivestitureNotification ( 00303 RTI::ObjectHandle theObject, 00304 const RTI::AttributeHandleSet& releasedAttributes ) 00305 throw ( 00306 RTI::ObjectNotKnown, 00307 RTI::AttributeNotKnown, 00308 RTI::AttributeNotOwned, 00309 RTI::AttributeDivestitureWasNotRequested, 00310 RTI::FederateInternalError ); 00311 00313 virtual void attributeOwnershipAcquisitionNotification ( 00314 RTI::ObjectHandle theObject, 00315 const RTI::AttributeHandleSet& securedAttributes ) 00316 throw ( 00317 RTI::ObjectNotKnown, 00318 RTI::AttributeNotKnown, 00319 RTI::AttributeAcquisitionWasNotRequested, 00320 RTI::AttributeAlreadyOwned, 00321 RTI::AttributeNotPublished, 00322 RTI::FederateInternalError ); 00323 00325 virtual void attributeOwnershipUnavailable ( 00326 RTI::ObjectHandle theObject, 00327 const RTI::AttributeHandleSet& theAttributes ) 00328 throw ( 00329 RTI::ObjectNotKnown, 00330 RTI::AttributeNotKnown, 00331 RTI::AttributeAlreadyOwned, 00332 RTI::AttributeAcquisitionWasNotRequested, 00333 RTI::FederateInternalError ); 00334 00336 virtual void requestAttributeOwnershipRelease ( 00337 RTI::ObjectHandle theObject, 00338 const RTI::AttributeHandleSet& candidateAttributes, 00339 const char* theTag ) 00340 throw ( 00341 RTI::ObjectNotKnown, 00342 RTI::AttributeNotKnown, 00343 RTI::AttributeNotOwned, 00344 RTI::FederateInternalError ); 00345 00347 virtual void confirmAttributeOwnershipAcquisitionCancellation ( 00348 RTI::ObjectHandle theObject, 00349 const RTI::AttributeHandleSet& theAttributes ) 00350 throw ( 00351 RTI::ObjectNotKnown, 00352 RTI::AttributeNotKnown, 00353 RTI::AttributeAlreadyOwned, 00354 RTI::AttributeAcquisitionWasNotCanceled, 00355 RTI::FederateInternalError ); 00356 00358 virtual void informAttributeOwnership ( 00359 RTI::ObjectHandle theObject, 00360 RTI::AttributeHandle theAttribute, 00361 RTI::FederateHandle theOwner ) 00362 throw ( 00363 RTI::ObjectNotKnown, 00364 RTI::AttributeNotKnown, 00365 RTI::FederateInternalError ); 00366 00367 virtual void attributeIsNotOwned ( 00368 RTI::ObjectHandle theObject, 00369 RTI::AttributeHandle theAttribute ) 00370 throw ( 00371 RTI::ObjectNotKnown, 00372 RTI::AttributeNotKnown, 00373 RTI::FederateInternalError ); 00374 00375 virtual void attributeOwnedByRTI ( 00376 RTI::ObjectHandle theObject, 00377 RTI::AttributeHandle theAttribute ) 00378 throw ( 00379 RTI::ObjectNotKnown, 00380 RTI::AttributeNotKnown, 00381 RTI::FederateInternalError ); 00383 00385 00386 00388 virtual void timeRegulationEnabled ( 00389 const RTI::FedTime& theFederateTime ) 00390 throw ( 00391 RTI::InvalidFederationTime, 00392 RTI::EnableTimeRegulationWasNotPending, 00393 RTI::FederateInternalError ); 00394 00396 virtual void timeConstrainedEnabled ( 00397 const RTI::FedTime& theFederateTime ) 00398 throw ( 00399 RTI::InvalidFederationTime, 00400 RTI::EnableTimeConstrainedWasNotPending, 00401 RTI::FederateInternalError ); 00402 00404 virtual void timeAdvanceGrant ( 00405 const RTI::FedTime& theTime ) 00406 throw ( 00407 RTI::InvalidFederationTime, 00408 RTI::TimeAdvanceWasNotInProgress, 00409 RTI::FederateInternalError ); 00410 00412 virtual void requestRetraction ( 00413 RTI::EventRetractionHandle theHandle ) 00414 throw ( 00415 RTI::EventNotKnown, 00416 RTI::FederateInternalError ); 00418 00419 protected: 00420 virtual void observe( const MAKRti::DtString& functionName, 00421 RTI::Exception* except = 0, 00422 const DtMomArgument& argument1 = theDfltMomArgument, 00423 const DtMomArgument& argument2 = theDfltMomArgument, 00424 const DtMomArgument& argument3 = theDfltMomArgument, 00425 const DtMomArgument& argument4 = theDfltMomArgument, 00426 const DtMomArgument& argument5 = theDfltMomArgument, 00427 const DtMomArgument& returnArg = theDfltRetVal ); 00428 00429 private: 00431 DtMomWrapper( const DtMomWrapper& src ); 00432 00434 DtMomWrapper& operator=( const DtMomWrapper& src ); 00435 00436 protected: 00437 DtMomMgr* myMomMgr; 00438 unsigned long myDiscoverCount; 00439 unsigned long myRemoveCount; 00440 00441 protected: 00442 00443 static const DtMomArgument theDfltMomArgument; 00444 static DtMomArgument theDfltRetVal; 00445 }; 00446 00447 #endif //! DtIFSPEC1516 00448 #endif //! DtMomWrapper_H_ 00449 #endif //! DtMOM 00450 00451