VR-Link API Documentation for HLA 1.3
Home
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
include
mtl
envValue.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
******************************************************************************/
5
6
10
11
#ifndef envValue_H__
12
#define envValue_H__
13
14
#if DT_ENV_THREAD_SAFE
15
#include <
vlutil/vlThreadSafe.h
>
16
#endif
17
18
#include <
vlutil/vlSmartPointers.h
>
19
#include <
vlutil/vlString.h
>
20
#include <list>
21
22
#ifdef DtUSE_UTILITIES_NAMESPACE
23
namespace
DtUSE_UTILITIES_NAMESPACE
24
{
25
#endif
26
27
28
class
DtEnvironment
;
29
class
DtEnvValue
;
30
31
typedef
DtBoost::shared_ptr<DtEnvValue>
DtEnvValueSP
;
32
typedef
DtBoost::weak_ptr<DtEnvValue>
DtEnvValueWP
;
33
typedef
std::list<DtEnvValueSP>
DtEnvValueList
;
34
35
#if DT_ENV_THREAD_SAFE
36
typedef
DtThreadSafe<DtString>
DtEnvValueType
;
37
typedef
DtThreadSafe<DtEnvValueList::iterator>
DtEnvValueIterator
;
38
#else
39
typedef
DtString
DtEnvValueType
;
40
typedef
DtEnvValueList::iterator
DtEnvValueIterator
;
41
#endif
42
45
class
DT_DLL_MTL
DtEnvValue
46
{
47
public
:
48
friend
class
DT_DLL_MTL
DtEnvironment
;
49
friend
class
DtEnvList
;
50
51
#define RESERVED_VALUE(N) (1 << N)
52
enum
DtEnvValueFormat
53
{
54
Value
= 0,
55
Listed
= 1,
56
Named
=
RESERVED_VALUE
(1),
57
Typed
=
RESERVED_VALUE
(2),
58
Native
=
RESERVED_VALUE
(3),
59
60
NamedListed
=
Named
|
Listed
,
61
NamedTypedListed
=
Named
|
Typed
|
Listed
62
};
63
64
explicit
DtEnvValue
(
const
DtString
&
value
);
65
virtual
~DtEnvValue
();
66
68
virtual
DtString
value
()
const
;
69
71
virtual
void
setValue
(
const
DtString
&
value
);
72
74
virtual
DtEnvValueSP
parent
()
const
;
75
77
virtual
void
setParent
(
DtEnvValueSP
parent
);
78
80
DtEnvValueFormat
format
()
const
;
81
82
protected
:
83
virtual
void
valueChanged
();
84
virtual
void
childChanged
(
DtEnvValue
*);
85
86
void
addFormat
(
DtEnvValueFormat
format
);
87
88
void
setLocation
(
const
DtEnvValueList::iterator& location);
89
DtEnvValueList::iterator
nextIter
()
const
;
90
91
DtEnvValue
(
const
DtString
&
value
,
DtEnvValueFormat
format
);
92
virtual
DtEnvValue
*
clone
()
const
;
93
94
DtEnvValueFormat
myFormat
;
95
DtEnvValueType
myValue
;
96
DtEnvValueWP
myParent
;
97
DtEnvValueIterator
myIterator
;
98
};
99
100
#ifdef DtUSE_UTILITIES_NAMESPACE
101
}
102
#endif
103
104
105
#endif
Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)