MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleDDMFedAmb1516_2025.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 // The Federate Ambassador discovers and remove objects and
7 // processes object reflects and receive interactions. It also notes
8 // attribute scope advisories
9 
10 #pragma once
11 #ifdef DtHLA1516_2025
12 #include "simpleDDMStringUtil.h"
13 
14 #include <map>
15 #include <RTI/RTI1516.h>
17 #include <string>
18 
19 // Data exchanged between federate and Federate Ambassador
20 class DtTalkAmbData
21 {
22 public:
25  std::map<rti1516_2025::ObjectClassHandle, std::wstring> objectClassMap;
26  std::map<rti1516_2025::ObjectInstanceHandle, std::wstring> objectInstanceMap;
27  std::map<rti1516_2025::InteractionClassHandle, std::wstring> interactionClassMap;
28  rti1516_2025::AttributeHandle myPositionHandle;
29  int position;
30  int lowerListen;
31  int upperListen;
32  int lowerSend;
33  int upperSend;
35  bool isPublisher;
36  rti1516_2025::TransportationTypeHandle reliableTransportationType;
37 };
38 
39 class MyFederateAmbassador : public rti1516_2025::NullFederateAmbassador
40 {
41 public:
43 
44  virtual ~MyFederateAmbassador();
45 
46 
47  // 6.3
49  std::wstring const & theObjectInstanceName);
50 
52  std::wstring const & theObjectInstanceName);
53 
54  // 6.9
55  virtual void discoverObjectInstance (
56  rti1516_2025::ObjectInstanceHandle const & theObject,
57  rti1516_2025::ObjectClassHandle const & theObjectClass,
58  std::wstring const & theObjectInstanceName,
59  rti1516_2025::FederateHandle const & producingFederate);
60 
61  // 6.11
62  virtual void reflectAttributeValues(
63  rti1516_2025::ObjectInstanceHandle const& theObject,
64  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
65  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
66  rti1516_2025::TransportationTypeHandle const& theType,
67  rti1516_2025::FederateHandle const& theProducingFederate,
68  rti1516_2025::RegionHandleSet const* theOptionalSentRegions);
69 
70  virtual void reflectAttributeValues(
71  rti1516_2025::ObjectInstanceHandle const& theObject,
72  rti1516_2025::AttributeHandleValueMap const& theAttributeValues,
73  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
74  rti1516_2025::TransportationTypeHandle const& theType,
75  rti1516_2025::FederateHandle const& theProducingFederate,
76  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
77  rti1516_2025::LogicalTime const& theTime,
78  rti1516_2025::OrderType theSentOrder,
79  rti1516_2025::OrderType theReceivedOrder,
80  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
81 
82  // 6.13
83  virtual void receiveInteraction(
84  rti1516_2025::InteractionClassHandle const& theInteraction,
85  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
86  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
87  rti1516_2025::TransportationTypeHandle const& theType,
88  rti1516_2025::FederateHandle const& theProducingFederate,
89  const rti1516_2025::RegionHandleSet* theOptionalSentRegions);
90 
91  virtual void receiveInteraction(
92  rti1516_2025::InteractionClassHandle const& theInteraction,
93  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
94  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
95  rti1516_2025::TransportationTypeHandle const& theType,
96  rti1516_2025::FederateHandle const& theProducingFederate,
97  rti1516_2025::RegionHandleSet const* theOptionalSentRegions,
98  rti1516_2025::LogicalTime const& theTime,
99  rti1516_2025::OrderType theSentOrder,
100  rti1516_2025::OrderType theReceivedOrder,
101  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
102 
103  // 6.13
104  virtual void receiveDirectedInteraction(
105  rti1516_2025::InteractionClassHandle const& theInteraction,
106  rti1516_2025::ObjectInstanceHandle const& theObject,
107  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
108  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
109  rti1516_2025::TransportationTypeHandle const& theType,
110  rti1516_2025::FederateHandle const& producingFederate);
111 
112  virtual void receiveDirectedInteraction(
113  rti1516_2025::InteractionClassHandle const& theInteraction,
114  rti1516_2025::ObjectInstanceHandle const& theObject,
115  rti1516_2025::ParameterHandleValueMap const& theParameterValues,
116  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
117  rti1516_2025::TransportationTypeHandle const& theType,
118  rti1516_2025::FederateHandle const& theProducingFederate,
119  rti1516_2025::LogicalTime const& theTime,
120  rti1516_2025::OrderType theSentOrder,
121  rti1516_2025::OrderType theReceivedOrder,
122  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
123 
124  // 6.15
125  virtual void removeObjectInstance(
126  rti1516_2025::ObjectInstanceHandle const& theObject,
127  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
128  rti1516_2025::FederateHandle const& theProducingFederate);
129 
130  virtual void removeObjectInstance(
131  rti1516_2025::ObjectInstanceHandle const& theObject,
132  rti1516_2025::VariableLengthData const& theUserSuppliedTag,
133  rti1516_2025::FederateHandle const& theProducingFederate,
134  rti1516_2025::LogicalTime const& theTime,
135  rti1516_2025::OrderType theSentOrder,
136  rti1516_2025::OrderType theReceivedOrder,
137  rti1516_2025::MessageRetractionHandle const* theOptionalRetraction);
138 
139  // 6.17
140  virtual void attributesInScope (
141  rti1516_2025::ObjectInstanceHandle const & theObject,
142  rti1516_2025::AttributeHandleSet const & theAttributes);
143 
144  // 6.18
145  virtual void attributesOutOfScope (
146  rti1516_2025::ObjectInstanceHandle const & theObject,
147  rti1516_2025::AttributeHandleSet const & theAttributes);
148 
149 public:
151 };
152 
153 #endif
bool enableScopeAdvisories
Definition: simpleDDMFedAmb13.h:35
virtual void objectInstanceNameReservationFailed(std::wstring const &theObjectInstanceName)
A convenience header provided for developers that would like to include everything all at once...
OrderType
Definition: datatypes.pb.h:472
virtual void attributesInScope(RTI::ObjectHandle theObject, const RTI::AttributeHandleSet &theAttributes)
std::map< ObjectClassHandle, std::string > objectClassMap
Definition: rtiSimpleFedAmb13dlc.h:33
int upperSend
Definition: simpleDDMFedAmb13.h:34
Basic federate ambassador service callback implementation.
Definition: rtiSimpleFedAmb13.h:35
std::set< AttributeHandle > AttributeHandleSet
Definition: Typedefs.h:35
std::map< ObjectHandle, std::string > objectInstanceMap
Definition: rtiSimpleFedAmb13dlc.h:34
virtual void receiveInteraction(RTI::InteractionClassHandle theInteraction, const RTI::ParameterHandleValuePairSet &theParameters, const RTI::FedTime &theTime, const char *theTag, RTI::EventRetractionHandle theHandle)
virtual void objectInstanceNameReservationSucceeded(std::wstring const &theObjectInstanceName)
std::map< InteractionClassHandle, std::string > interactionClassMap
Definition: rtiSimpleFedAmb13dlc.h:35
virtual void removeObjectInstance(RTI::ObjectHandle theObject, const RTI::FedTime &theTime, const char *theTag, RTI::EventRetractionHandle theHandle)
virtual void receiveDirectedInteraction(rti1516_2025::InteractionClassHandle const &theInteraction, rti1516_2025::ObjectInstanceHandle const &theObject, rti1516_2025::ParameterHandleValueMap const &theParameterValues, rti1516_2025::VariableLengthData const &theUserSuppliedTag, rti1516_2025::TransportationTypeHandle const &theType, rti1516_2025::FederateHandle const &producingFederate) override
int lowerListen
Definition: simpleDDMFedAmb13.h:31
virtual void reflectAttributeValues(RTI::ObjectHandle theObject, const RTI::AttributeHandleValuePairSet &theAttributes, const RTI::FedTime &theTime, const char *theTag, RTI::EventRetractionHandle theHandle)
int position
Definition: simpleDDMFedAmb13.h:30
RTI::AttributeHandle myPositionHandle
Definition: simpleDDMFedAmb13.h:29
DtSimpleData & myData
Definition: rtiSimpleFedAmb13.h:98
virtual void discoverObjectInstance(RTI::ObjectHandle theObject, RTI::ObjectClassHandle theObjectClass, const char *theObjectName)
int lowerSend
Definition: simpleDDMFedAmb13.h:33
std::set< RegionHandle > RegionHandleSet
Definition: Typedefs.h:39
Definition: rtiSimpleFedAmb13dlc.h:15
virtual void attributesOutOfScope(RTI::ObjectHandle theObject, const RTI::AttributeHandleSet &theAttributes)
bool isPublisher
Definition: simpleDDMFedAmb13.h:36
int upperListen
Definition: simpleDDMFedAmb13.h:32
std::map< AttributeHandle, VariableLengthData > AttributeHandleValueMap
Definition: Typedefs.h:44
virtual ~MyFederateAmbassador()
bool myNameReservationSucceeded
Definition: simpleDDMFedAmb1516.h:28
This file provides an example derivation of the rti1516_2025::FederateAmbassador with NULL actions fo...
MyFederateAmbassador(DtSimpleData &data)
bool myNameReservationReturned
Definition: simpleDDMFedAmb1516.h:27
std::map< ParameterHandle, VariableLengthData > ParameterHandleValueMap
Definition: Typedefs.h:49

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)