![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 //----------------------------------------------------------------- 00002 // 00003 // CLASS: 00004 // NullFederateAmbassador 00005 // 00006 // HISTORY: 00007 // 3/2/98 Allen Skees 00008 // Created by Allen Skees <askees@virtc.com> 00009 // 00010 //----------------------------------------------------------------- 00011 00012 #ifndef NullFederateAmbassador_h 00013 #define NullFederateAmbassador_h 00014 00015 #include <RTI.hh> 00016 00017 //----------------------------------------------------------------- 00018 // RTI 1.0 Parameter Passing Memory Conventions 00019 // 00020 // C1 In parameter by value. 00021 // C2 Out parameter by reference. 00022 // C3 Function return by value. 00023 // C4 In parameter by const reference. Caller provides memory. 00024 // Caller may free memory or overwrite it upon completion of 00025 // the call. Callee must copy during the call anything it 00026 // wishes to save beyond completion of the call. Parameter 00027 // type must define const accessor methods. 00028 // C5 Out parameter by reference. Caller provides reference to object. 00029 // Callee constructs an instance on the heap (new) and returns. 00030 // The caller destroys the instance (delete) at its leisure. 00031 // C6 Function return by reference. Callee constructs an instance on 00032 // the heap (new) and returns a reference. The caller destroys the 00033 // instance (delete) at its leisure. 00034 //----------------------------------------------------------------- 00035 00036 class NullFederateAmbassador : public RTI::FederateAmbassador 00037 { 00038 public: 00039 00040 NullFederateAmbassador() {} 00041 virtual ~NullFederateAmbassador() 00042 throw (RTI::FederateInternalError) {} 00043 00045 // Federation Management Services // 00047 00048 virtual void synchronizationPointRegistrationSucceeded ( 00049 const char *label) // supplied C4) 00050 throw ( 00051 RTI::FederateInternalError) {} 00052 00053 virtual void synchronizationPointRegistrationFailed ( 00054 const char *label) // supplied C4) 00055 throw ( 00056 RTI::FederateInternalError) {} 00057 00058 virtual void announceSynchronizationPoint ( 00059 const char *label, // supplied C4 00060 const char *tag) // supplied C4 00061 throw ( 00062 RTI::FederateInternalError) {} 00063 00064 virtual void federationSynchronized ( 00065 const char *label) // supplied C4) 00066 throw ( 00067 RTI::FederateInternalError) {} 00068 00069 virtual void initiateFederateSave ( 00070 const char *label) // supplied C4 00071 throw ( 00072 RTI::UnableToPerformSave, 00073 RTI::FederateInternalError) {} 00074 00075 virtual void federationSaved () 00076 throw ( 00077 RTI::FederateInternalError) {} 00078 00079 virtual void federationNotSaved () 00080 throw ( 00081 RTI::FederateInternalError) {} 00082 00083 virtual void requestFederationRestoreSucceeded ( 00084 const char *label) // supplied C4 00085 throw ( 00086 RTI::FederateInternalError) {} 00087 00088 virtual void requestFederationRestoreFailed ( 00089 const char *label, 00090 const char *reason) // supplied C4 00091 throw ( 00092 RTI::FederateInternalError) {} 00093 00094 virtual void federationRestoreBegun () 00095 throw ( 00096 RTI::FederateInternalError) {} 00097 00098 virtual void initiateFederateRestore ( 00099 const char *label, // supplied C4 00100 RTI::FederateHandle handle) // supplied C1 00101 throw ( 00102 RTI::SpecifiedSaveLabelDoesNotExist, 00103 RTI::CouldNotRestore, 00104 RTI::FederateInternalError) {} 00105 00106 virtual void federationRestored () 00107 throw ( 00108 RTI::FederateInternalError) {} 00109 00110 virtual void federationNotRestored () 00111 throw ( 00112 RTI::FederateInternalError) {} 00113 00115 // Declaration Management Services // 00117 00118 virtual void startRegistrationForObjectClass ( 00119 RTI::ObjectClassHandle theClass) // supplied C1 00120 throw ( 00121 RTI::ObjectClassNotPublished, 00122 RTI::FederateInternalError) {} 00123 00124 virtual void stopRegistrationForObjectClass ( 00125 RTI::ObjectClassHandle theClass) // supplied C1 00126 throw ( 00127 RTI::ObjectClassNotPublished, 00128 RTI::FederateInternalError) {} 00129 00130 virtual void turnInteractionsOn ( 00131 RTI::InteractionClassHandle theHandle) // supplied C1 00132 throw ( 00133 RTI::InteractionClassNotPublished, 00134 RTI::FederateInternalError) {} 00135 00136 virtual void turnInteractionsOff ( 00137 RTI::InteractionClassHandle theHandle) // supplied C1 00138 throw ( 00139 RTI::InteractionClassNotPublished, 00140 RTI::FederateInternalError) {} 00141 00143 // Object Management Services // 00145 00146 virtual void discoverObjectInstance ( 00147 RTI::ObjectHandle theObject, // supplied C1 00148 RTI::ObjectClassHandle theObjectClass, // supplied C1 00149 const char* theObjectName) // supplied C4 00150 throw ( 00151 RTI::CouldNotDiscover, 00152 RTI::ObjectClassNotKnown, 00153 RTI::FederateInternalError) {} 00154 00155 virtual void reflectAttributeValues ( 00156 RTI::ObjectHandle theObject, // supplied C1 00157 const RTI::AttributeHandleValuePairSet& theAttributes, // supplied C4 00158 const RTI::FedTime& theTime, // supplied C1 00159 const char *theTag, // supplied C4 00160 RTI::EventRetractionHandle theHandle) // supplied C1 00161 throw ( 00162 RTI::ObjectNotKnown, 00163 RTI::AttributeNotKnown, 00164 RTI::FederateOwnsAttributes, 00165 RTI::InvalidFederationTime, 00166 RTI::FederateInternalError) {} 00167 00168 virtual void reflectAttributeValues ( 00169 RTI::ObjectHandle theObject, // supplied C1 00170 const RTI::AttributeHandleValuePairSet& theAttributes, // supplied C4 00171 const char *theTag) // supplied C4 00172 throw ( 00173 RTI::ObjectNotKnown, 00174 RTI::AttributeNotKnown, 00175 RTI::FederateOwnsAttributes, 00176 RTI::FederateInternalError) {} 00177 00178 // 4.6 00179 virtual void receiveInteraction ( 00180 RTI::InteractionClassHandle theInteraction, // supplied C1 00181 const RTI::ParameterHandleValuePairSet& theParameters, // supplied C4 00182 const RTI::FedTime& theTime, // supplied C4 00183 const char *theTag, // supplied C4 00184 RTI::EventRetractionHandle theHandle) // supplied C1 00185 throw ( 00186 RTI::InteractionClassNotKnown, 00187 RTI::InteractionParameterNotKnown, 00188 RTI::InvalidFederationTime, 00189 RTI::FederateInternalError) {} 00190 00191 virtual void receiveInteraction ( 00192 RTI::InteractionClassHandle theInteraction, // supplied C1 00193 const RTI::ParameterHandleValuePairSet& theParameters, // supplied C4 00194 const char *theTag) // supplied C4 00195 throw ( 00196 RTI::InteractionClassNotKnown, 00197 RTI::InteractionParameterNotKnown, 00198 RTI::FederateInternalError) {} 00199 00200 virtual void removeObjectInstance ( 00201 RTI::ObjectHandle theObject, // supplied C1 00202 const RTI::FedTime& theTime, // supplied C4 00203 const char *theTag, // supplied C4 00204 RTI::EventRetractionHandle theHandle) // supplied C1 00205 throw ( 00206 RTI::ObjectNotKnown, 00207 RTI::InvalidFederationTime, 00208 RTI::FederateInternalError) {} 00209 00210 virtual void removeObjectInstance ( 00211 RTI::ObjectHandle theObject, // supplied C1 00212 const char *theTag) // supplied C4 00213 throw ( 00214 RTI::ObjectNotKnown, 00215 RTI::FederateInternalError) {} 00216 00217 virtual void attributesInScope ( 00218 RTI::ObjectHandle theObject, // supplied C1 00219 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00220 throw ( 00221 RTI::ObjectNotKnown, 00222 RTI::AttributeNotKnown, 00223 RTI::FederateInternalError) {} 00224 00225 virtual void attributesOutOfScope ( 00226 RTI::ObjectHandle theObject, // supplied C1 00227 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00228 throw ( 00229 RTI::ObjectNotKnown, 00230 RTI::AttributeNotKnown, 00231 RTI::FederateInternalError) {} 00232 00233 virtual void provideAttributeValueUpdate ( 00234 RTI::ObjectHandle theObject, // supplied C1 00235 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00236 throw ( 00237 RTI::ObjectNotKnown, 00238 RTI::AttributeNotKnown, 00239 RTI::AttributeNotOwned, 00240 RTI::FederateInternalError) {} 00241 00242 virtual void turnUpdatesOnForObjectInstance ( 00243 RTI::ObjectHandle theObject, // supplied C1 00244 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00245 throw ( 00246 RTI::ObjectNotKnown, 00247 RTI::AttributeNotOwned, 00248 RTI::FederateInternalError) {} 00249 00250 virtual void turnUpdatesOffForObjectInstance ( 00251 RTI::ObjectHandle theObject, // supplied C1 00252 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00253 throw ( 00254 RTI::ObjectNotKnown, 00255 RTI::AttributeNotOwned, 00256 RTI::FederateInternalError) {} 00257 00259 // Ownership Management Services // 00261 00262 virtual void requestAttributeOwnershipAssumption ( 00263 RTI::ObjectHandle theObject, // supplied C1 00264 const RTI::AttributeHandleSet& offeredAttributes, // supplied C4 00265 const char *theTag) // supplied C4 00266 throw ( 00267 RTI::ObjectNotKnown, 00268 RTI::AttributeNotKnown, 00269 RTI::AttributeAlreadyOwned, 00270 RTI::AttributeNotPublished, 00271 RTI::FederateInternalError) {} 00272 00273 virtual void attributeOwnershipDivestitureNotification ( 00274 RTI::ObjectHandle theObject, // supplied C1 00275 const RTI::AttributeHandleSet& releasedAttributes) // supplied C4 00276 throw ( 00277 RTI::ObjectNotKnown, 00278 RTI::AttributeNotKnown, 00279 RTI::AttributeNotOwned, 00280 RTI::AttributeDivestitureWasNotRequested, 00281 RTI::FederateInternalError) {} 00282 00283 virtual void attributeOwnershipAcquisitionNotification ( 00284 RTI::ObjectHandle theObject, // supplied C1 00285 const RTI::AttributeHandleSet& securedAttributes) // supplied C4 00286 throw ( 00287 RTI::ObjectNotKnown, 00288 RTI::AttributeNotKnown, 00289 RTI::AttributeAcquisitionWasNotRequested, 00290 RTI::AttributeAlreadyOwned, 00291 RTI::AttributeNotPublished, 00292 RTI::FederateInternalError) {} 00293 00294 virtual void attributeOwnershipUnavailable ( 00295 RTI::ObjectHandle theObject, // supplied C1 00296 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00297 throw ( 00298 RTI::ObjectNotKnown, 00299 RTI::AttributeNotKnown, 00300 RTI::AttributeAlreadyOwned, 00301 RTI::AttributeAcquisitionWasNotRequested, 00302 RTI::FederateInternalError) {} 00303 00304 virtual void requestAttributeOwnershipRelease ( 00305 RTI::ObjectHandle theObject, // supplied C1 00306 const RTI::AttributeHandleSet& candidateAttributes, // supplied C4 00307 const char *theTag) // supplied C4 00308 throw ( 00309 RTI::ObjectNotKnown, 00310 RTI::AttributeNotKnown, 00311 RTI::AttributeNotOwned, 00312 RTI::FederateInternalError) {} 00313 00314 virtual void confirmAttributeOwnershipAcquisitionCancellation ( 00315 RTI::ObjectHandle theObject, // supplied C1 00316 const RTI::AttributeHandleSet& theAttributes) // supplied C4 00317 throw ( 00318 RTI::ObjectNotKnown, 00319 RTI::AttributeNotKnown, 00320 RTI::AttributeAlreadyOwned, 00321 RTI::AttributeAcquisitionWasNotCanceled, 00322 RTI::FederateInternalError) {} 00323 00324 virtual void informAttributeOwnership ( 00325 RTI::ObjectHandle theObject, // supplied C1 00326 RTI::AttributeHandle theAttribute, // supplied C1 00327 RTI::FederateHandle theOwner) // supplied C1 00328 throw ( 00329 RTI::ObjectNotKnown, 00330 RTI::AttributeNotKnown, 00331 RTI::FederateInternalError) {} 00332 00333 virtual void attributeIsNotOwned ( 00334 RTI::ObjectHandle theObject, // supplied C1 00335 RTI::AttributeHandle theAttribute) // supplied C1 00336 throw ( 00337 RTI::ObjectNotKnown, 00338 RTI::AttributeNotKnown, 00339 RTI::FederateInternalError) {} 00340 00341 virtual void attributeOwnedByRTI ( 00342 RTI::ObjectHandle theObject, // supplied C1 00343 RTI::AttributeHandle theAttribute) // supplied C1 00344 throw ( 00345 RTI::ObjectNotKnown, 00346 RTI::AttributeNotKnown, 00347 RTI::FederateInternalError) {} 00348 00350 // Time Management Services // 00352 00353 virtual void timeRegulationEnabled ( 00354 const RTI::FedTime& theFederateTime) // supplied C4 00355 throw ( 00356 RTI::InvalidFederationTime, 00357 RTI::EnableTimeRegulationWasNotPending, 00358 RTI::FederateInternalError) {} 00359 00360 virtual void timeConstrainedEnabled ( 00361 const RTI::FedTime& theFederateTime) // supplied C4 00362 throw ( 00363 RTI::InvalidFederationTime, 00364 RTI::EnableTimeConstrainedWasNotPending, 00365 RTI::FederateInternalError) {} 00366 00367 virtual void timeAdvanceGrant ( 00368 const RTI::FedTime& theTime) // supplied C4 00369 throw ( 00370 RTI::InvalidFederationTime, 00371 RTI::TimeAdvanceWasNotInProgress, 00372 RTI::FederateInternalError) {} 00373 00374 virtual void requestRetraction ( 00375 RTI::EventRetractionHandle theHandle) // supplied C1 00376 throw ( 00377 RTI::EventNotKnown, 00378 RTI::FederateInternalError) {} 00379 }; 00380 00381 #endif