VR-Vantage API Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Tutorials
File List
File Members
include
vrvUtil
DtMessageStream.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2007 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
/******************************************************************************
6
** $RCSfile: DtMessageStream.h,v $ $Revision: 1.11 $ $State: Exp $
7
******************************************************************************/
8
12
13
#pragma once
14
15
#include <
vrvUtil/vrvUtil.h
>
16
#include <
vrvUtil/DtMessage.h
>
17
18
#include <vector>
19
20
namespace
makVrv
21
{
25
class
DT_DLL_VRVUTIL
DtMessageStream
26
{
27
public
:
28
typedef
std::vector<DtMessage*>
MessageList
;
29
30
typedef
unsigned
char
Byte
;
31
typedef
std::vector<Byte>
ByteBuffer
;
32
33
//The message stream will be reset should not get larger than 5 MB.
34
static
const
size_t
theMaxPersistentStreamSize = 0x500000;
35
37
DtMessageStream
(
size_t
initialReserve = 0xFFF);
38
40
~
DtMessageStream
();
41
43
void
clearStream();
44
46
48
void
writeMessageToStream(
DtMessage
* message);
49
51
void
writeMessagesToStream(
MessageList
& messages );
52
54
56
Byte
* streamData()
const
;
57
59
size_t
streamDataSize()
const
;
60
63
void
addDataToStream(
char
* data,
size_t
size);
64
67
Byte
* addSpaceToStream(
size_t
size);
68
70
void
trimEnd(
size_t
n);
71
75
int
readMessagesFromStream(
MessageList
& messages);
76
77
protected
:
78
ByteBuffer
myMessageBuffer
;
79
};
80
}
81
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)