VR-Forces 4.0.4 Class Documentation
include/vrfutil/sensorContactInfoList.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: sensorContactInfoList.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef sensorContactInfoList_H_
00015 #define sensorContactInfoList_H_
00016 
00017 #include "vrfutil/rwList.h"
00018 #include "vrfutil/vrfutilDefines.h"
00019 #include "vrfutil/callbackList.h"
00020 
00021 class DtReaderWriterRegistry;
00022 class DtString;
00023 class DtRwSensorContactInfo;
00024 
00032 class DT_DLL_vrfutil DtSensorContactInfoList : public DtRwList
00033 {
00034 
00035 public:
00036 
00038    DtSensorContactInfoList();
00039 
00041    DtSensorContactInfoList(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00042    DtSensorContactInfoList(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00043 
00045    virtual ~DtSensorContactInfoList();
00046 
00049 
00050    DtSensorContactInfoList(const DtString& name, const DtSensorContactInfoList& orig, 
00051       DtReaderWriterRegistry* parentRegistry = NULL);
00052 
00053    DtSensorContactInfoList(const DtSymbolString& name, const DtSensorContactInfoList& orig, 
00054       DtReaderWriterRegistry* parentRegistry = NULL);
00056 
00060    DtSensorContactInfoList& operator=(const DtSensorContactInfoList& orig);
00061 
00063 
00064    virtual DtSensorContactInfoList* clone(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00065    virtual DtSensorContactInfoList* clone(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL);
00067 
00069    virtual void clear();
00070 
00072    virtual void removeAndDelete(DtRwSensorContactInfo* contactInfo);
00073 
00076    virtual DtRwSensorContactInfo* findContactInfoByContactName(const DtString& contactName);
00077    
00086    virtual DtRwSensorContactInfo* createSensorContactInfo();
00087 
00092 
00093    virtual void addModifiedCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void* usr);
00094    virtual void removeModifiedCallback(DtNoArgumentCallbackList::DtCallbackFunctionType fcn, void* usr);
00096 
00099    virtual void listModified();
00100 
00101 protected:
00102 
00104    void copyList(const DtSensorContactInfoList& orig);
00105 
00108    void emptyList();
00109    
00112    virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
00113       const DtVariableBindingsList& variableBindings);
00114 
00118    virtual const char* readerWriterType() const;
00119 
00120    DtNoArgumentCallbackList myModifiedCallbackList;
00121 
00122 protected:
00123 
00124 };
00125 
00130 class DT_DLL_vrfutil DtSensorContactInfoListChangeMonitor
00131 {
00132 private:
00134 
00135    DtSensorContactInfoListChangeMonitor();
00136    DtSensorContactInfoListChangeMonitor(const DtSensorContactInfoListChangeMonitor& orig);
00137    DtSensorContactInfoListChangeMonitor& operator=(DtSensorContactInfoListChangeMonitor& orig);
00139 public:
00140    DtSensorContactInfoListChangeMonitor(DtSensorContactInfoList& contactInfoList);
00141    ~DtSensorContactInfoListChangeMonitor();
00142 
00145    bool listChanged() const;
00146 
00149    void markUnchanged();
00150 
00153    bool checkAndResetListChanged();
00154 
00155 protected:
00156    static void listChangedCallback(void* usr);
00157    void processListChanged();
00158 
00159    DtSensorContactInfoList&  myContactInfoList;
00160    bool myListChanged;
00161 };
00162 
00163 #endif
00164 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)