VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectMessage.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include "vrfmsgs/simMessage.h"
15 #include <vlutil/vlNetTypes.h>
16 #include "vrfmsgs/vrfmsgsDefines.h"
17 #include <vlutil/vlSmartPointers.h>
18 #include <vrfutil/rwUUID.h>
19 
22 const char DtVrfObjectMessageSendToAll[] = "DtBroadcast";
25 const char DtVrfObjectMessageFrontEndAddress[] = "DtVrfFrontEnd";
26 
31 {
32 
33 public:
34 
37 
40 
42  const DtVrfObjectMessage& operator=(const DtVrfObjectMessage & orig);
43 
45  virtual ~DtVrfObjectMessage();
46 
48  virtual int messageType() const;
49 
52  virtual int contentCategoryType() const = 0;
53 
55  virtual int radioMessageType() const;
56 
61  //virtual DtString contentType() const = 0;
62 
69 
70  virtual void setReceiver(const DtUUID& receiver);
71  virtual const DtUUID& receiver() const;
72 
73  virtual void setRecipient(const DtUUID& receiver) { setReceiver(receiver); };
74  virtual const DtUUID& recipient() const { return receiver(); };
76 
81 
82  virtual void setTransmitter(const DtUUID& transmitter);
83  virtual const DtUUID& transmitter() const;
84 
85  virtual void setSender(const DtUUID& transmitter) { setTransmitter(transmitter); };
86  virtual const DtUUID& sender() const { return transmitter(); };
88 
91  virtual char* netRep();
92 
95  virtual int netRepSize() const;
96 
98  virtual bool setFromNet(const char* networkBuffer,
99  unsigned contentSize);
100 
101 
103  virtual bool setToNet();
104 
106  virtual void printDataToString(DtString& str);
107 
109  static DtVrfObjectMessage* createVrfObjectMessage(int type);
111  static DtVrfObjectMessage* createRadioMessage(int type);
112 
114  static void addVrfObjectMessageCreatorFcn(int type,
117  static void addRadioMessageCreatorFcn(int type,
119 
120  static void setFactory(DtVrfObjectMessageFactory* factory);
121 
122  static DtVrfObjectMessageFactory* factory();
123 
125  virtual int scenarioRunId() const;
126  virtual void setScenarioRunId(int);
127 
128 protected:
129  virtual char* createNetworkBuffer();
130 
131 protected:
134  char* myNetRep;
136 
138 
139 };
140 
141 namespace DtBufferSerialize
142 {
145  DT_DLL_vrfmsgs int getSize(const DtVrfObjectMessage* const& messagePtr);
146 
151  DT_DLL_vrfmsgs char *encode(const DtVrfObjectMessage* const& messagePtr, char *buffer);
152 
161  DT_DLL_vrfmsgs const char *decode(DtVrfObjectMessage*& messagePtr, const char *buffer);
162 }
163 
165 typedef DtBoost::shared_ptr<const DtVrfObjectMessage> DtVrfObjectMessageConstPtr;
167 typedef DtBoost::shared_ptr<DtVrfObjectMessage> DtVrfObjectMessagePtr;
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
DtUUID myTransmitter
Definition: vrfObjectMessage.h:132
DtBoost::shared_ptr< DtVrfObjectMessage > DtVrfObjectMessagePtr
Boost shared pointer to a DtVrfObjectMessage.
Definition: vrfObjectMessage.h:167
virtual void setSender(const DtUUID &transmitter)
Definition: vrfObjectMessage.h:85
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
const char DtVrfObjectMessageFrontEndAddress[]
Any messages sent to this address to be received by any VR-Forces front ends or other remote control ...
Definition: vrfObjectMessage.h:25
DtUUID myReceiver
Definition: vrfObjectMessage.h:133
File: simMsg.h.
Definition: simMessage.h:35
virtual void setRecipient(const DtUUID &receiver)
Definition: vrfObjectMessage.h:73
int myScenarioRunId
Definition: vrfObjectMessage.h:135
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
virtual void printDataToString(DtString &str)
print the message
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer.
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
virtual const DtUUID & recipient() const
Definition: vrfObjectMessage.h:74
virtual const DtUUID & sender() const
Definition: vrfObjectMessage.h:86
virtual int messageType() const =0
A pure virtual function that derived classes define to return the appropriate message type category (...
DtVrfObjectMessageFactory is a hashlist of DtVrfObjectMessage creator functions indexed by the intege...
Definition: vrfObjectMessageFactory.h:25
char * myNetRep
Definition: vrfObjectMessage.h:134
const char DtVrfObjectMessageSendToAll[]
DtVrfObjectMessage.
Definition: vrfObjectMessage.h:22
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
DtBoost::shared_ptr< const DtVrfObjectMessage > DtVrfObjectMessageConstPtr
Boost shared pointer to a const DtVrfObjectMessage.
Definition: vrfObjectMessage.h:165
const DtSimMessage & operator=(const DtSimMessage &orig)
assignment operator
static DtVrfObjectMessageFactory * myFactory
Definition: vrfObjectMessage.h:137

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)