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
#include <
vlutil/vlAttributePduStrategy.h
>
17
18
class
DtStandardVariableRecordFactory
;
19
21
typedef
DtPdu
* (*DtPduCreator)(
const
DtNetPduHeader
* packet,
22
DtBufferPtr
buffer,
DtPduFactory
* pduFactory);
23
25
typedef
DtVPRecord
* (*DtVPCreator)();
26
30
#define DtADD_PDU_CREATOR(x) \
31
addCreator(Dt##x##PduKind, &Dt##x##Pdu::create);
32
37
38
class
DT_DLL_VL
DtPduFactory
39
{
40
public
:
41
43
DtPduFactory
();
44
46
virtual
~
DtPduFactory
();
47
49
DtPduFactory
(
const
DtPduFactory
& orig);
50
52
DtPduFactory
& operator=(
const
DtPduFactory
& orig);
53
57
virtual
DtPdu
* createPdu(
const
DtNetPacket
* packet,
58
DtBufferPtr
buffer =
DtUSE_INTERNAL_BUFFER
);
59
60
virtual
DtVPRecord
* createVPRecord(
DtVPRecordKind
kind);
61
67
virtual
DtPduCreator
addCreator(
DtPduKind
kind,
DtPduCreator
creator);
69
70
71
virtual
DtVPCreator
addVPRecordCreator(
DtVPRecordKind
kind,
DtVPCreator
creator);
72
73
virtual
int
packetGood(
const
DtNetPacket
* packet)
const
;
74
75
// This returns the current Standard Variable Factory
76
virtual
DtStandardVariableRecordFactory
* standardVariableRecordFactory()
const
;
77
78
// This sets the Standard Variable Factory. In addition, it returns the previous one.
79
virtual
DtStandardVariableRecordFactory
* setStandardVariableRecordFactory(
DtStandardVariableRecordFactory
* newFactory);
80
82
virtual
void
setAttributePduStrategy(
DtAttributePduStrategy
strat);
83
virtual
DtAttributePduStrategy
attributePduStrategy()
const
;
84
85
public
:
86
static
int
dfltPacketGood(
const
DtNetPacket
* packet);
87
88
protected
:
89
91
DtPduCreator
*
myCreators
;
92
DtVPCreator
*
myVPCreators
;
93
94
DtStandardVariableRecordFactory
*
myStandardVariableFactory
;
95
DtAttributePduStrategy
myAttributePduStrategy
;
96
97
protected
:
98
99
static
const
int
theMaxPduKinds
;
100
};
101
102
#endif
Document ID: Generated on Mon Jun 22 21:18:40 EDT 2020 from SVN revision 213785
Copyright © 2005-2018 MAK Technologies. All Rights Reserved (
www.mak.com
)