VR-Link API Documentation for DIS
envList.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 envList_H__
00012 #define envList_H__
00013 
00014 #if DT_ENV_THREAD_SAFE
00015 #include <vlutil/vlMutex.h>
00016 #endif
00017 
00018 #include "envValue.h"
00019 #include <list>
00020 
00021 #ifdef DtUSE_UTILITIES_NAMESPACE
00022 namespace DtUSE_UTILITIES_NAMESPACE
00023 {
00024 #endif
00025 
00026 
00027 
00031 class DT_DLL_MTL DtEnvList : public DtEnvValue
00032 {
00033 public:
00034    friend class DtEnvironment;   
00035 
00037    virtual DtEnvValueSP first() const;
00038 
00040    virtual DtEnvValueSP last()  const;
00041 
00050    virtual DtEnvValueSP next(DtEnvValueSP) const;
00051 
00053    static bool isList(const DtEnvValueSP&);
00054 
00057    static DtEnvList* castToList(const DtEnvValueSP& value);
00058 
00059 protected:   
00060 
00062    explicit DtEnvList(const DtString& value);
00063 
00065    virtual DtEnvValue* clone() const;
00066 
00068    virtual void cloneChildren(DtEnvList* list) const;
00069 
00071    virtual void append(DtEnvValueSP);
00072 
00074    virtual void remove(DtEnvValueSP);
00075 
00077    DtEnvValueList myValues;
00078    
00079 #if DT_ENV_THREAD_SAFE
00080 
00081    mutable DtMutex myChildrenMutex;
00082 #endif
00083 };
00084 
00085 #ifdef DtUSE_UTILITIES_NAMESPACE
00086 }
00087 #endif
00088 
00089 
00090 #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)