VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
callsignRecord.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
11 #include <vlutil/vlUuid.h>
12 #include <vlpi/netnEnums.h>
14 
16 
17 
19 {
20 public:
21 
24 
27 
29  DtCallsignRecord(void* netBuffer, unsigned int size);
30 
32  virtual ~DtCallsignRecord();
33 
35  virtual bool operator==(const DtCallsignRecord& other);
36 
38  virtual bool operator==(const DtStandardVariableRecord& other);
39 
41 
42  virtual unsigned int recordType() const;
43  virtual void setRecordType(unsigned int recordType);
45 
47 
48  virtual unsigned int recordLength() const;
50  virtual void setRecordLength(unsigned int recordLength);
52 
54 
55  virtual unsigned int stringLength() const;
57  virtual void setStringLength(unsigned int stringLength);
59 
61 
62  virtual std::wstring callsign() const;
64  virtual void setCallsign(const std::wstring& callsign);
66 
68  virtual void printData() const;
69 
71  virtual void printDataToStream(std::ostream& stream) const;
72 
73  // Writes the network representation to the given address.
74  // The assumption is that this memory is allocated and is of the proper size.
75  virtual void writeRecord(void* addr) const;
76 
79  virtual void setFromNet(const void* netRecord, unsigned int length, DtStandardVariableRetCode* retCode = NULL);
80 
82  virtual unsigned unpaddedNetsize() const;
83 
85  virtual unsigned int netSize();
86 
88  virtual DtStandardVariableRecord* clone() const;
89 
91  static DtStandardVariableRecord* create(void* addr, unsigned int length);
92 
94  static unsigned int recordTypeToUse();
95 
96 
97 protected:
98  std::wstring myCallsign;
100  static const unsigned int theMinimumSize;
101  mutable int myCallsignPadding;
102 
103 };
static const unsigned int theMinimumSize
Definition: callsignRecord.h:100
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual unsigned unpaddedNetsize() const =0
This is the network size of the record without padding.
Contains the standard NETN enumerations.
This file declares DtNetCallsignRecord DtNetcallsignRecord is an attribute record struct containing a...
virtual unsigned int netSize()
Returns the size of the network representation (including padding bytes)
virtual DtStandardVariableRecord * clone() const =0
Clone.
std::wstring myCallsign
Definition: callsignRecord.h:98
virtual void setRecordLength(unsigned int recordLength)=0
Must include size of record header and padding to 8 bytes.
virtual void printData() const
Prints the data to DtInfo.
int myCallsignPadding
Definition: callsignRecord.h:101
virtual void printDataToStream(std::ostream &stream) const =0
Prints the data to the specified stream.
virtual bool operator==(const DtStandardVariableRecord &other)=0
Equals operator.
Variable record for sending the Callsign string.
Definition: callsignRecord.h:18
Definition: callsignRecordP.h:17
virtual void writeRecord(void *addr) const =0
virtual unsigned int recordLength() const =0
Get/Set Record Length.
virtual unsigned int recordType() const =0
Get/Set Record Type.
virtual void setRecordType(unsigned int recordType)=0
Get/Set Record Type.
virtual void setFromNet(const void *netRecord, unsigned int length, DtStandardVariableRetCode *retCode=NULL)=0
Sets the record from Network Representation from the given location.
Definition: standardVariableRecord.h:22
DtStandardVariableRetCode
Definition: standardVariableRecord.h:14
Contains the DtVrlUuid class declaration/definition.
DtNetCallsignRecord myNetCallsignRecord
Definition: callsignRecord.h:99
This file contains typedefs for machine dependant types.

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)