VR-Link API Documentation for HLA Evolved
env.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00006 
00010 
00011 #ifndef env_H_
00012 #define env_H_
00013 
00014 #include "envObject.h"
00015 #include "nativeValue.h"
00016 #include <list>
00017 
00018 #include <ostream>
00019 
00020 #ifdef DtUSE_UTILITIES_NAMESPACE
00021 namespace DtUSE_UTILITIES_NAMESPACE
00022 {
00023 #endif
00024 
00029 class DT_DLL_MTL DtEnvironment
00030 {
00031 public:
00033    DtEnvironment();
00034 
00036    explicit DtEnvironment(const DtString& name);
00037 
00041    explicit DtEnvironment(DtEnvValueSP root);
00042 
00044    virtual ~DtEnvironment();
00045 
00049    void sync();
00055    void sync(DtEnvValueSP value);
00056 
00058    DtEnvValueSP root() const;
00059 
00063    void setRoot(DtEnvValueSP root);
00064 
00067    void rootToParent();
00068 
00070    DtEnvValueSP getTopParent();
00071 
00073    DtEnvValueSP getTopParent(DtEnvValueSP value);
00074 
00078    void reparent( DtEnvValueSP value, DtEnvValueSP parent );
00079 
00081 
00082 
00083 
00084 
00085 
00086    DtEnvValueSP addComment(const DtString& comment,DtEnvValueSP parent);
00087    DtEnvValueSP addComment(const DtString& comment);
00089 
00090    DtEnvValueSP addNativeValue(DtNativeValueSP nativeValue,DtEnvValueSP parent);
00091    DtEnvValueSP getNativeValue(DtEnvValueSP parent) const;
00092 
00093    DtEnvValueSP addAttribute(const DtString& name,const DtString& value);
00094    DtEnvValueSP addAttribute(const DtString& name,const DtString& value,DtEnvValueSP parent);
00095 
00096    DtEnvValueSP addNamedList(const DtString& name);
00097    DtEnvValueSP addNamedList(const DtString& name,DtEnvValueSP parent);
00098 
00100 
00101 
00102 
00103 
00104 
00105 
00106    DtEnvValueSP addObject(const DtString& objectType);  
00107    DtEnvValueSP addObject(const DtString& objectType,DtEnvValueSP parent);
00108    DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType);  
00109    DtEnvValueSP addObject(const DtString& objectName,const DtString& objectType, DtEnvValueSP parent);
00111 
00112    DtEnvValueSP getAttribute(const DtString& name);
00113    DtEnvValueSP getAttribute(const DtString& name,DtEnvValueSP parent);
00114 
00115    void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
00116    void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list);
00117    void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list);
00118 
00119    void getNamedListsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
00120    void getObjectsByName(const DtString& objectName,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
00121    void getObjectsByType(const DtString& objectType,std::list<DtEnvValueSP>& list,DtEnvValueSP parent);
00122 
00123    DtEnvValueSP getNamedList(const DtString& name) const;
00124    DtEnvValueSP getNamedList(const DtString& name,DtEnvValueSP root) const;
00125 
00127 
00128    DtEnvValueSP getObject(const DtString& name,const DtString& type) const;
00129    DtEnvValueSP getObject(const DtString& name,const DtString& type,DtEnvValueSP root) const;
00130 
00135    DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type) const;
00140    DtEnvObjectSync* getObjectSync(const DtString& name,const DtString& type,DtEnvValueSP root) const;
00141 
00142 
00151    DtEnvValueSP copy(DtEnvValueSP original);
00152 
00162    DtEnvValueSP copy(DtEnvValueSP original,DtEnvValueSP parent);
00163 
00169    void remove(DtEnvValueSP  value);
00170 
00179    bool contains(DtEnvValueSP value);
00180 
00191    int level(DtEnvValueSP value);
00192 
00194    void print(std::ostream& output, const DtString& indent ,
00195               bool printComments = true) const;
00196 
00198    void print(std::ostream& output,DtEnvValueSP root,
00199               const DtString& indent ,bool printComments = true) const;
00200 
00201 protected:
00202 
00204    DtEnvValueSP myRoot;
00205 };
00206 
00208 DT_DLL_MTL std::ostream & operator<<(std::ostream &str, const DtEnvironment &env);
00209 
00210 #ifdef DtUSE_UTILITIES_NAMESPACE
00211 }
00212 #endif
00213 
00214 
00215 #endif

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)