VR-Forces 4.0.4 Class Documentation
include/vrfutil/rwMember.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: rwMember.h,v $ $Revision: 1.10 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtReaderWriterMember_H_
00013 #define DtReaderWriterMember_H_
00014 
00015 class DtReaderWriterMember;
00016 
00017 #include "stdio.h"
00018 #include <mtl/mtl.h>
00019 #include <vlutil/vlString.h>
00020 #include "vrfutil/rwRegistry.h"
00021 #include "vrfutil/rdrWritr.h"
00022 
00024 typedef   void (*DtRwPutDataHook)(void* obj, FILE* fp, int indentLevel);
00025 typedef   DtlObjPtr (*DtRwGetDataHook)(void* obj, DtlObjPtr args);
00026 
00027 
00112 //... non-inline functions ...
00169 
00170 #include "vrfutil/vrfutilDefines.h"
00171 class DT_DLL_vrfutil DtReaderWriterMember : public DtReaderWriter
00172 {
00173 public:
00174 
00176    DtReaderWriterMember(void* parent = NULL);
00177 
00179    DtReaderWriterMember(void* parent,
00180       DtRwPutDataHook putHook, DtRwGetDataHook getHook);
00181 
00182    DtReaderWriterMember(const DtString& name,
00183       DtReaderWriterRegistry* parentRegistry = NULL);
00184    DtReaderWriterMember(const DtSymbolString& name,
00185       DtReaderWriterRegistry* parentRegistry = NULL);
00186 
00187    DtReaderWriterMember(const DtString& name,
00188       void* parent,
00189       DtReaderWriterRegistry* parentRegistry = NULL);
00190    DtReaderWriterMember(const DtSymbolString& name,
00191       void* parent,
00192       DtReaderWriterRegistry* parentRegistry = NULL);
00193 
00194    DtReaderWriterMember(const DtString& name,
00195       void* parent,
00196       DtRwPutDataHook putHook, DtRwGetDataHook getHook,
00197       DtReaderWriterRegistry* parentRegistry = NULL);
00198    DtReaderWriterMember(const DtSymbolString& name,
00199       void* parent,
00200       DtRwPutDataHook putHook, DtRwGetDataHook getHook,
00201       DtReaderWriterRegistry* parentRegistry = NULL);
00202 
00203 
00205    DtReaderWriterMember(const DtString& name,
00206       const DtReaderWriterMember& orig,
00207       void* parent = NULL,
00208       DtReaderWriterRegistry* parentRegistry = NULL);
00209    DtReaderWriterMember(const DtSymbolString& name,
00210       const DtReaderWriterMember& orig,
00211       void* parent = NULL,
00212       DtReaderWriterRegistry* parentRegistry = NULL);
00213 
00215    const DtReaderWriterMember& operator=(const DtReaderWriterMember& orig);
00216 
00218    virtual ~DtReaderWriterMember();
00219 
00221    //virtual void putSelf(FILE *fp, int indentLevel = 0, bool writeUnspecified = false,
00222    //const DtFilename& path = DtReaderWriter::appPath());
00223    //virtual void getSelf(DtlObjPtr args);
00224 
00225    virtual void* parent() const;
00226    virtual void setParent(void* arg);
00227 
00228    DtReaderWriterRegistry* registry();
00229    const DtReaderWriterRegistry* registry() const;
00230 
00234    virtual bool localData() const;
00235    virtual void setLocalData(bool value = true);
00236    virtual void clearLocalData();
00237 
00240    virtual void setPutDataHook(DtRwPutDataHook hook);
00241    virtual void setGetDataHook(DtRwGetDataHook hook);
00242 
00246    virtual const char* readerWriterType() const;
00247 
00248 protected:
00249 
00253    virtual void putData(FILE* fp, int indentLevel = 0);
00254    virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath,
00255       const DtVariableBindingsList& variableBindings);
00256 
00257    void* myParent;
00258    DtRwPutDataHook myPutDataHook;
00259    DtRwGetDataHook myGetDataHook;
00260 };
00261 
00262 #endif

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)