VR-Link API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedDesignatorListDIS.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1992-2010 MAK Technologies, Inc
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 
9 
10 #ifndef DtDisReflectedDesignatorList_H_
11 #define DtDisReflectedDesignatorList_H_
12 
13 #if DtDIS
14 
15 
16 #include "reflectedObjectListDIS.h"
17 #include "reflectedDesignatorDIS.h"
18 #include "globalObjectDesignator.h"
19 
21 class DT_DLL_VL DtDesignatorPdu;
22 
27 {
28 public:
30  DtReflectedDesignatorList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503);
32  virtual ~DtReflectedDesignatorList();
33 
34 public:
37  virtual DtReflectedDesignator* lookup(
38  const DtGlobalObjectDesignator& designatingEntity,
39  int designtrCode ) const;
40 
42  virtual DtReflectedDesignator* first() const;
43  virtual DtReflectedDesignator* last() const;
44 
46  virtual void addDesignatorAdditionCallback(
47  DtDesignatorCallbackFunction cb, void* userData );
48  virtual void removeDesignatorAdditionCallback(
49  DtDesignatorCallbackFunction cb, void* userData );
50 
52  virtual void addDesignatorRemovalCallback(
53  DtDesignatorCallbackFunction cb, void* userData );
54  virtual void removeDesignatorRemovalCallback(
55  DtDesignatorCallbackFunction cb, void* userData );
56 
58  virtual void print() const;
59 
61  virtual void printDataToStream(std::ostream& stream) const;
62 
63 protected:
65  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
66 
69  virtual DtReflectedDesignator* newReflectedDesignator(
70  const DtEntityIdentifier& designatingEntity, int designatorCode);
71 
74  virtual int acceptPdu( const DtStateMsg& msg ) const;
75 
77  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
78 
82  virtual void removeAndDelete( DtReflectedObject* obj, char* msg=0 );
83 
86  virtual void objectAdded( DtReflectedObject* obj );
87 
93  const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
94 
95 protected:
97  static void designatorCb( DtDesignatorPdu* pdu, void* usr );
98 
99 protected:
100  DtSystemHashKey myHashKey;
101 
102 protected:
105 
108 };
109 
110 #endif
111 
112 #endif
113 
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:58
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
Instances of DtSystemHashKey are used as hash keys for an emitter system.
Definition: systemHashKey.h:18
This file contains typedefs used to represent objects in a protocol neutral way.
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
class DtReflectedDesignator:
Definition: reflectedDesignatorHLA.h:31
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=nullptr)
Remove the remote object from the list if found and delete it.
void(* DtDesignatorCallbackFunction)(DtReflectedDesignator *obj, void *userData)
Definition: reflectedDesignatorHLA.h:23
Instances of DtReflectedDesignatorList manage the list of of remote Designators in the exercise...
Definition: reflectedDesignatorListHLA.h:24
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
Instances of DtString are used to represent strings.
Definition: vlString.h:29
class DtStateMsg:
Definition: stateMsgHLA.h:32
virtual void print()
Print the SRs of all objects.

Document ID: Generated on Wed Mar 27 02:04:30 EDT 2024 from SVN revision 264570
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)