VR-Link API Documentation for DIS
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
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 Oct 23 22:25:48 EDT 2013 from SVN revision 132765
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)