VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
receiverPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2013 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include "hostStructs.h"
15 #include "pdu.h"
16 #include "packets/transmitterP.h"
17 #include "stateMsg.h"
18 
19 class DtExerciseConn;
20 class DtReceiverPdu;
21 
23 typedef void (*DtReceiverPduCb)(DtReceiverPdu *pdu, void *usr);
24 
27 class DT_DLL_VL DtReceiverPdu : public DtStateMsg
28 {
29 public:
31  enum { PduStaticSize=36 };
32 
33 public:
35  DtReceiverPdu(DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER);
36 
38  DtReceiverPdu(const DtNetReceiverPdu *initial,
39  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
40 
42  ~DtReceiverPdu() {};
43 
45  const DtEntityIdentifier &entityId() const;
47  void setEntityId(const DtEntityIdentifier &id);
49 
51  unsigned int radioId() const;
53  void setRadioId(unsigned int id);
55 
57  DtRadioReceiverState receiverState() const;
59  void setReceiverState(DtRadioReceiverState state);
61 
63  float receivedPower() const;
65  void setReceivedPower(float power);
67 
69  const DtEntityIdentifier &transmitEntityId() const;
71  void setTransmitEntityId(const DtEntityIdentifier &id);
73 
75  unsigned int transmitRadioId() const;
77  void setTransmitRadioId(unsigned int id);
79 
81  virtual void printData() const;
82 
84  virtual void printDataToStream(std::ostream &stream) const;
85 
86 public:
89  static DtPdu *create(const DtNetPacket *initial,
90  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
91 
93  static void addCallback(DtExerciseConn *conn,
94  DtReceiverPduCb cb, void *usr);
95 
97  static void removeCallback(DtExerciseConn *conn,
98  DtReceiverPduCb cb, void *usr);
99 
100 protected:
102  DtPduKind internalGetPduKind() const {return DtReceiverPduKind;}
103  DtEntityIdentifier theId;
104  DtEntityIdentifier transId;
105 };
106 
107 
108 #endif
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
Definition: transmitterP.h:49
Definition: pduHeader.h:14
Definition: disEnums.h:268
DtPdu is the base class for all PDU's in VR-Link.
Definition: pdu.h:69
DtRadioReceiverState
Definition: disEnums.h:935
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
class DtStateMsg:
Definition: stateMsgHLA.h:32

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)