VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aisDataRecord.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 
14 
15 
17 {
18 public:
19 
22 
24  DtAisDataRecord(unsigned int dataType);
25 
27  DtAisDataRecord(const DtAisDataRecord& orig);
28 
30  DtAisDataRecord(void* netBuffer, unsigned int size);
31 
33  virtual ~DtAisDataRecord();
34 
36  virtual bool operator==(const DtAisDataRecord& other);
37 
39  virtual bool operator==(const DtStandardVariableRecord& other);
40 
42 
43  virtual unsigned int recordType() const;
44  virtual void setRecordType(unsigned int recordType);
46 
48 
49  virtual unsigned int recordLength() const;
51  virtual void setRecordLength(unsigned int recordLength);
53 
55  virtual void setAisMmsi(DtU32 val);
56 
58  virtual DtU32 aisMmsi() const;
59 
61  virtual void setAisImo(DtU32 val);
62 
64  virtual DtU32 aisImo() const;
65 
67  virtual void setAisEta(DtInt32 val);
68 
70  virtual DtInt32 aisEta() const;
71 
73  virtual void setAisDestination(const DtString& val);
74 
76  virtual const DtString& aisDestination() const;
77 
79  virtual void setAisStatus(DtAisNavigationStatus val);
80 
82  virtual DtAisNavigationStatus aisStatus() const;
83 
85  virtual void printData() const;
86 
88  virtual void printDataToStream(std::ostream& stream) const;
89 
90  // Writes the network representation to the given address.
91  // The assumption is that this memory is allocated and is of the proper size.
92  virtual void writeRecord(void* addr) const;
93 
96  virtual void setFromNet(const void* netRecord, unsigned int length, DtStandardVariableRetCode* retCode = NULL);
97 
99  virtual unsigned unpaddedNetsize() const;
100 
102  virtual unsigned int netSize();
103 
105  virtual DtStandardVariableRecord* clone() const;
106 
108  static DtStandardVariableRecord* create(void* addr, unsigned int length);
109 
111  static unsigned int recordTypeToUse();
112 
114  static void setRecordTypeToUse(unsigned int typeToUse);
115 
116 
117 protected:
119  static const unsigned int theMinimumSize;
121 };
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual unsigned unpaddedNetsize() const =0
This is the network size of the record without padding.
static const unsigned int theMinimumSize
Definition: aisDataRecord.h:119
virtual unsigned int netSize()
Returns the size of the network representation (including padding bytes)
virtual DtStandardVariableRecord * clone() const =0
Clone.
Definition: aisDataRecordP.h:17
virtual void setRecordLength(unsigned int recordLength)=0
Must include size of record header and padding to 8 bytes.
DtString myAisDestination
Definition: aisDataRecord.h:120
virtual void printData() const
Prints the data to DtInfo.
virtual void printDataToStream(std::ostream &stream) const =0
Prints the data to the specified stream.
virtual bool operator==(const DtStandardVariableRecord &other)=0
Equals operator.
Attribute record for sending AIS Transponder information across the network.
Definition: aisDataRecord.h:16
DtAisNavigationStatus
Definition: disEnums.h:3354
DtNetAisDataRecord myNetAisDataRecord
Definition: aisDataRecord.h:118
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
long int DtInt32
A 32 bit integer value.
Definition: vlMachineTypes.h:156
unsigned long DtU32
A 32 bit unsigned integer value.
Definition: vlMachineTypes.h:153
DtStandardVariableRetCode
Definition: standardVariableRecord.h:14
Instances of DtString are used to represent strings.
Definition: vlString.h:29
Contains the DtVrlUuid class declaration/definition.
This file contains typedefs for machine dependant types.
This file declares DtNetAisDataRecord DtNetAisDataRecord is an attribute record struct containing AIS...

Document ID: Generated on Thu Sep 19 02:12:35 EDT 2024 from SVN revision 269601
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)