VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
vl
pduFactory.h
Go to the documentation of this file.
1
/*********************************************************************
2
** Copyright (c) 1992-2013 VT MAK
3
** All rights reserved.
4
*********************************************************************/
5
6
9
10
#pragma once
11
12
#if DtDIS
13
14
#include "
pdu.h
"
15
#include "
vpRecord.h
"
16
17
class
DtStandardVariableRecordFactory
;
18
20
typedef
DtPdu
* (*DtPduCreator)(
const
DtNetPduHeader
* packet,
21
DtBufferPtr
buffer,
DtPduFactory
* pduFactory);
22
24
typedef
DtVPRecord
* (*DtVPCreator)();
25
29
#define DtADD_PDU_CREATOR(x) \
30
addCreator(Dt##x##PduKind, &Dt##x##Pdu::create);
31
36
37
class
DT_DLL_VL
DtPduFactory
38
{
39
public
:
40
42
DtPduFactory
();
43
45
virtual
~
DtPduFactory
();
46
48
DtPduFactory
(
const
DtPduFactory
& orig);
49
51
DtPduFactory
& operator=(
const
DtPduFactory
& orig);
52
56
virtual
DtPdu
* createPdu(
const
DtNetPacket
* packet,
57
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
58
59
virtual
DtVPRecord
* createVPRecord(
DtVPRecordKind
kind);
60
66
virtual
DtPduCreator
addCreator(
DtPduKind
kind,
DtPduCreator
creator);
68
69
70
virtual
DtVPCreator
addVPRecordCreator(
DtVPRecordKind
kind,
DtVPCreator
creator);
71
72
virtual
int
packetGood(
const
DtNetPacket
* packet)
const
;
73
74
// This returns the current Standard Variable Factory
75
virtual
DtStandardVariableRecordFactory
* standardVariableRecordFactory()
const
;
76
77
// This sets the Standard Variable Factory. In addition, it returns the previous one.
78
virtual
DtStandardVariableRecordFactory
* setStandardVariableRecordFactory(
DtStandardVariableRecordFactory
* newFactory);
79
80
public
:
81
static
int
dfltPacketGood(
const
DtNetPacket
* packet);
82
83
protected
:
84
86
DtPduCreator
*
myCreators
;
87
DtVPCreator
*
myVPCreators
;
88
89
DtStandardVariableRecordFactory
*
myStandardVariableFactory
;
90
91
protected
:
92
93
static
const
int
theMaxPduKinds
;
94
};
95
96
#endif
Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (
www.mak.com
)