MAK RTIspy API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleDDMFedAmb13dlc.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MaK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: simpleDDMFedAmb13dlc.h,v $ $Revision: 1.1 $ $State: Exp $
7 ******************************************************************************/
8 
9 // The Federate Ambassador discovers and remove objects and
10 // processes object reflects and recieve interactions. It also notes
11 // attribute scope advisories
12 
13 #ifndef MyFederateAmbassador_H_
14 #define MyFederateAmbassador_H_
15 
16 #include "NullFederateAmbassador13.h"
17 
18 #include <map>
19 #include <string>
20 
21 using namespace rti13;
22 
23 // Data exchanged between federate and Federate Ambassador
24 class DtTalkAmbData
25 {
26 public:
27  std::map<ObjectClassHandle, std::string> objectClassMap;
28  std::map<ObjectHandle, std::string> objectInstanceMap;
29  std::map<InteractionClassHandle, std::string> interactionClassMap;
30  AttributeHandle myPositionHandle;
31  int position;
32  int lowerListen;
33  int upperListen;
34  int lowerSend;
35  int upperSend;
36  bool enableScopeAdvisories;
37  bool isPublisher;
38 
39 };
40 
42 {
43 public:
44 
46 
47  virtual ~MyFederateAmbassador()
48  throw (FederateInternalError);
49 
50 
52  // Object Management Services //
54 
55  virtual void discoverObjectInstance (
56  ObjectHandle theObject, // supplied C1
57  ObjectClassHandle theObjectClass, // supplied C1
58  const char* theObjectName) // supplied C4
59  throw (
60  CouldNotDiscover,
61  ObjectClassNotKnown,
62  FederateInternalError);
63 
64  virtual void reflectAttributeValues (
65  ObjectHandle theObject, // supplied C1
66  const AttributeHandleValuePairSet& theAttributes, // supplied C4
67  const FedTime& theTime, // supplied C1
68  const char *theTag, // supplied C4
69  EventRetractionHandle theHandle) // supplied C1
70  throw (
71  ObjectNotKnown,
72  AttributeNotKnown,
73  FederateOwnsAttributes,
74  InvalidFederationTime,
75  FederateInternalError);
76 
77  virtual void reflectAttributeValues (
78  ObjectHandle theObject, // supplied C1
79  const AttributeHandleValuePairSet& theAttributes, // supplied C4
80  const char *theTag) // supplied C4
81  throw (
82  ObjectNotKnown,
83  AttributeNotKnown,
84  FederateOwnsAttributes,
85  FederateInternalError);
86 
87  // 4.6
88  virtual void receiveInteraction (
89  InteractionClassHandle theInteraction, // supplied C1
90  const ParameterHandleValuePairSet& theParameters, // supplied C4
91  const FedTime& theTime, // supplied C4
92  const char *theTag, // supplied C4
93  EventRetractionHandle theHandle) // supplied C1
94  throw (
95  InteractionClassNotKnown,
96  InteractionParameterNotKnown,
97  InvalidFederationTime,
98  FederateInternalError);
99 
100  virtual void receiveInteraction (
101  InteractionClassHandle theInteraction, // supplied C1
102  const ParameterHandleValuePairSet& theParameters, // supplied C4
103  const char *theTag) // supplied C4
104  throw (
105  InteractionClassNotKnown,
106  InteractionParameterNotKnown,
107  FederateInternalError);
108 
109  virtual void removeObjectInstance (
110  ObjectHandle theObject, // supplied C1
111  const FedTime& theTime, // supplied C4
112  const char *theTag, // supplied C4
113  EventRetractionHandle theHandle) // supplied C1
114  throw (
115  ObjectNotKnown,
116  InvalidFederationTime,
117  FederateInternalError);
118 
119  virtual void removeObjectInstance (
120  ObjectHandle theObject, // supplied C1
121  const char *theTag) // supplied C4
122  throw (
123  ObjectNotKnown,
124  FederateInternalError);
125 
126  virtual void attributesInScope (
127  ObjectHandle theObject, // supplied C1
128  const AttributeHandleSet& theAttributes) // supplied C4
129  throw (
130  ObjectNotKnown,
131  AttributeNotKnown,
132  FederateInternalError) ;
133 
134  virtual void attributesOutOfScope (
135  ObjectHandle theObject, // supplied C1
136  const AttributeHandleSet& theAttributes) // supplied C4
137  throw (
138  ObjectNotKnown,
139  AttributeNotKnown,
140  FederateInternalError) ;
141 
142 
143 public:
144  DtTalkAmbData & myData;
145 };
146 
147 
148 
149 #endif

Document ID: Generated on Fri Sep 27 00:57:56 EDT 2019 from SVN revision 201708
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)