VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environment.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 environment_H_
12 #define environment_H_
13 
14 #include "envObject.h"
15 #include "nativeValue.h"
16 #include <list>
17 
18 #include <ostream>
19 
20 #ifdef DtUSE_UTILITIES_NAMESPACE
21 namespace DtUSE_UTILITIES_NAMESPACE
22 {
23 #endif
24 
30 {
31 public:
33  DtEnvironment();
34 
36  explicit DtEnvironment(const DtString& name);
37 
41  explicit DtEnvironment(DtEnvValueSP root);
42 
44  virtual ~DtEnvironment();
45 
49  void sync();
55  void sync(DtEnvValueSP value);
56 
58  DtEnvValueSP root() const;
59 
63  void setRoot(DtEnvValueSP root);
64 
67  void rootToParent();
68 
70  DtEnvValueSP getTopParent();
71 
73  DtEnvValueSP getTopParent(DtEnvValueSP value);
74 
78  void reparent( DtEnvValueSP value, DtEnvValueSP parent );
79 
81 
82 
83 
84 
85 
86  DtEnvValueSP addComment(const DtString& comment,DtEnvValueSP parent);
87  DtEnvValueSP addComment(const DtString& comment);
89 
90  DtEnvValueSP addNativeValue(DtNativeValueSP nativeValue,DtEnvValueSP parent);
91  DtEnvValueSP getNativeValue(DtEnvValueSP parent) const;
92 
93  DtEnvValueSP addAttribute(const DtString& name,const DtString& value);
94  DtEnvValueSP addAttribute(const DtString& name,const DtString& value,DtEnvValueSP parent);
95 
96  DtEnvValueSP addNamedList(const DtString& name);
97  DtEnvValueSP addNamedList(const DtString& name,DtEnvValueSP parent);
98 
100 
101 
102 
103 
104 
105 
106  DtEnvValueSP addObject(const DtString& objectType);
107  DtEnvValueSP addObject(const DtString& objectType,DtEnvValueSP parent);
108  DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType);
109  DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType, DtEnvValueSP parent);
111 
112  DtEnvValueSP getAttribute(const DtString& name);
113  DtEnvValueSP getAttribute(const DtString& name,DtEnvValueSP parent);
114 
115  void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
116  void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
117  void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list);
118 
119  void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
120  void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
121  void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
122 
123  DtEnvValueSP getNamedList(const DtString& name) const;
124  DtEnvValueSP getNamedList(const DtString& name,DtEnvValueSP root) const;
125 
127 
128  DtEnvValueSP getObject(const DtString& name,const DtString& type) const;
129  DtEnvValueSP getObject(const DtString& name,const DtString& type,DtEnvValueSP root) const;
130 
135  DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type) const;
140  DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type,DtEnvValueSP root) const;
141 
142 
151  DtEnvValueSP copy(DtEnvValueSP original);
152 
162  DtEnvValueSP copy(DtEnvValueSP original,DtEnvValueSP parent);
163 
169  void remove(DtEnvValueSP value);
170 
179  bool contains(DtEnvValueSP value);
180 
191  int level(DtEnvValueSP value);
192 
194  void print(std::ostream& output, const DtString& indent ,
195  bool printComments = true) const;
196 
198  void print(std::ostream& output,DtEnvValueSP root,
199  const DtString& indent ,bool printComments = true) const;
200 
201 protected:
202 
205 };
206 
208 DT_DLL_MTL std::ostream & operator<<(std::ostream &str, const DtEnvironment &env);
209 
210 #ifdef DtUSE_UTILITIES_NAMESPACE
211 }
212 #endif
213 
214 
215 #endif

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)