VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
reflectedLinearObjectListDIS.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
16 
17 class DtLinearObjectStatePdu;
18 
23 {
24 public:
25 
27  DtReflectedLinearObjectList( DtExerciseConn* exConn, int numBucketsPrimeNumber = 503 );
28 
30  virtual ~DtReflectedLinearObjectList();
31 
33  virtual DtReflectedLinearObject* lookup( const DtEntityIdentifier& id ) const;
34 
36  virtual DtReflectedLinearObject* first() const;
37  virtual DtReflectedLinearObject* last() const;
38 
40  virtual void addLinearObjectAdditionCallback(
41  DtLinearObjectCallbackFunction cb, void* usr );
42  virtual void removeLinearObjectAdditionCallback(
43  DtLinearObjectCallbackFunction cb, void* usr );
44 
46  virtual void addLinearObjectRemovalCallback(
47  DtLinearObjectCallbackFunction cb, void* usr );
48  virtual void removeLinearObjectRemovalCallback(
49  DtLinearObjectCallbackFunction cb, void* usr );
50 
52  virtual void print() const;
53 
55  virtual void printDataToStream( std::ostream& stream ) const;
56 
57 protected:
58 
60  virtual DtReflectedObject* newReflectedObj( const DtStateMsg& msg );
61 
64  virtual DtReflectedLinearObject* newReflectedLinearObject(
65  const DtEntityIdentifier& id );
66 
69  virtual int acceptPdu( const DtStateMsg& msg ) const;
70 
72  virtual DtReflectedObject* processStateMessage( const DtStateMsg& msg );
73 
77  virtual void removeAndDelete( DtReflectedObject* obj, char* msg = 0 );
78 
81  virtual void objectAdded( DtReflectedObject* obj );
82 
88  const DtBaseHashKey& hashKeyFromStateMessage( const DtStateMsg* );
89 
91  static void linearObjectCb( DtLinearObjectStatePdu* pdu, void* usr );
92 
93 protected:
94 
97 
100 
101 protected:
102 
103  DtEntityIdentifierHashKey myHashKey;
104 
105 };
106 
107 #endif // DtDIS
Instances of DtEntityIdentifierHashKey are hash keys made from DtEntityIdentifiers.
Definition: entityIdentifierHashKey.h:21
class DtReflectedObjectList
Definition: reflectedObjectListHLA.h:36
class DtReflectedLinearObject:
Definition: reflectedLinearObjectHLA.h:31
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:58
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
DtBaseHashKey is an abstract base class for hash keys.
Definition: vlHashKeys.h:39
void(* DtLinearObjectCallbackFunction)(DtReflectedLinearObject *obj, void *userData)
Definition: reflectedLinearObjectHLA.h:23
DtReflectedObjectList & operator=(const DtReflectedObjectList &orig)
assignment operator – not implemented
class DtReflectedLinearObjectList:
Definition: reflectedLinearObjectListHLA.h:25
class DtReflectedObject:
Definition: reflectedObjectHLA.h:36
This file provides protocol independence for reflected linear object includes.
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual void removeAndDelete(DtReflectedObject *obj, char *msg=NULL)
Remove the remote object from the list if found and delete it.
virtual void objectAdded(DtReflectedObject *object)
Called from processDiscoverObject() after a remote object has been added to the list.
class DtStateMsg:
Definition: stateMsgHLA.h:32
virtual void print()
Print the SRs of all objects.

Document ID: Generated on Tue Feb 2 21:02:17 EST 2021 from SVN revision 223668
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)