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