VR-Link API Documentation for DIS
envObject.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 envObject_H__
00012 #define envObject_H__
00013 
00014 #include "envNamedList.h"
00015 #include "envObjectSync.h"
00016 #include <map>
00017 
00018 #ifdef DtUSE_UTILITIES_NAMESPACE
00019 namespace DtUSE_UTILITIES_NAMESPACE
00020 {
00021 #endif
00022 
00023 
00026 class DT_DLL_MTL DtEnvObject : public DtEnvNamedList 
00027 {
00028 public:
00029    friend class DtEnvironment;
00030    friend class DtEnvObjectSync;
00031    
00032    virtual DtString type() const;
00033    virtual DtString name() const;
00034 
00035    virtual DtEnvValueSP    first() const;
00036 
00037    virtual void setType(const DtString& type);
00038    virtual void setName(const DtString& type);
00039 
00040    DtEnvValueSP attribute(const DtString& name) const;
00041    DtString     attributeValue(const DtString& name) const;   
00042 
00043    static bool  isObject(DtEnvValueSP);
00044    static bool  isObject(DtEnvValueSP,const DtString& type);
00045    static bool  isObject(DtEnvValueSP,const DtString& name,const DtString& type);
00046 
00047    static DtEnvObject* castToObject(DtEnvValueSP);
00048 
00050    virtual DtEnvObjectSync* sync() const;
00051 
00052 protected:
00053    DtEnvObject(const DtString& objName,const DtString& objType,const DtString& objValue);
00054 
00056    virtual DtEnvValue* clone() const;
00057 
00059    virtual void valueChanged();
00060 
00062    virtual void childChanged(DtEnvValue*);
00063 
00065    virtual void append(DtEnvValueSP);
00066 
00068    virtual void remove(DtEnvValueSP);
00069 
00071    virtual void setSync(DtEnvObjectSync* sync);
00072    
00073    typedef std::map<DtString,DtEnvValueWP> DtEnvAttributeMap;
00074    DtEnvAttributeMap myAttributes;
00075    DtEnvObjectSync*  mySyncObject;
00076 
00077 };
00078 
00079 #ifdef DtUSE_UTILITIES_NAMESPACE
00080 }
00081 #endif
00082 
00083 #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)