VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMessageStream.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/vrvUtil.h>
13 #include <vrvUtil/DtMessage.h>
14 
15 #include <vector>
16 
17 namespace makVrv
18 {
23  {
24  public:
25  typedef std::vector<DtMessage*> MessageList;
26 
27  typedef unsigned char Byte;
28  typedef std::vector<Byte> ByteBuffer;
29 
30  //The message stream will be reset should not get larger than 5 MB.
31  static const size_t theMaxPersistentStreamSize = 0x500000;
32 
34  DtMessageStream(size_t initialReserve = 0xFFF);
35 
37  ~DtMessageStream();
38 
40  void clearStream();
41 
43 
45  void writeMessageToStream(DtMessage* message);
46 
48  void writeMessagesToStream(MessageList& messages );
49 
51 
53  Byte* streamData() const;
54 
56  size_t streamDataSize() const;
57 
60  void addDataToStream(char* data,size_t size);
61 
64  Byte* addSpaceToStream(size_t size);
65 
67  void trimEnd(size_t n);
68 
73  int readMessagesFromStream( MessageList& messages);
74 
75  protected:
77  };
78 }
79 
unsigned char Byte
Definition: DtMessageStream.h:27
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
The IGI Message. Is easily encoded and decoding using stream operators. It also provides validation d...
Definition: DtMessage.h:30
Class for serializing objects as a byte stream for transmitting to othe rdisplay engines.
Definition: DtMessageStream.h:22
voidpf void uLong size
Definition: ioapi.h:39
Contains DLL export macros.
std::vector< DtMessage * > MessageList
Definition: DtMessageStream.h:25
std::vector< Byte > ByteBuffer
Definition: DtMessageStream.h:28
ByteBuffer myMessageBuffer
Definition: DtMessageStream.h:76

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)