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