Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmVariableManager.h

00001 //=============================================================================
00002 // filename: RmVariableManager.h                                              
00003 //                                                                            
00004 //           ATI Research, Inc.                                               
00005 //           3D Application Research Group                                    
00006 //                                                                            
00007 // description: definition for a predefined variable manager, to              
00008 //              help centralize the organization of predefined variables.     
00009 //                                                                            
00010 //=============================================================================
00011 //   (C) 2004 ATI Research, Inc.  All rights reserved.                        
00012 //=============================================================================
00013 
00014 #ifndef _RM_CORE_VARIABLE_MANAGER_H_
00015 #define _RM_CORE_VARIABLE_MANAGER_H_
00016 
00017 #include <Core/RmTypes.h>
00018 #include <Core/RmLinkedList.h>
00019 
00020 //=============================================================================
00027 //=============================================================================
00028 typedef struct
00029 {
00030    RmStringT   strVariableType;
00031    RmStringT   strVariableName;
00032    RmStringT   strVariableUpdate;    
00033    RmStringT   strVariableSemantic;  
00034 
00035 } RmVariableItem;
00036 
00037 //=============================================================================
00038 // RmVariableList holds a list of RmVariableItems 
00039 //=============================================================================
00040 typedef RmLinkedList<RmVariableItem> RmVariableList;
00041 
00042 //=============================================================================
00048 //=============================================================================
00049 class RM_API IRmVariableManager
00050 {
00051 public:
00052    //--------------------------------------------------------------------------
00056    //--------------------------------------------------------------------------
00057    IRmVariableManager();
00058 
00059    //--------------------------------------------------------------------------
00063    //--------------------------------------------------------------------------
00064    virtual ~IRmVariableManager();
00065 
00066 public:
00067    //--------------------------------------------------------------------------
00074    //--------------------------------------------------------------------------
00075    virtual bool LoadVariables( RM_TCHAR *pStrFileName ) = 0;
00076 
00077    //--------------------------------------------------------------------------
00083    //--------------------------------------------------------------------------
00084    virtual bool ClearVariables() = 0;
00085 
00086    //--------------------------------------------------------------------------
00092    //--------------------------------------------------------------------------
00093    virtual RmVariableItem* IsDefinedVariable(   RmNode *pNode )                     = 0;
00094 
00095    //--------------------------------------------------------------------------
00101    //--------------------------------------------------------------------------
00102    virtual RmVariableItem* IsDefinedVariable(   RmVariableItem *pVariableItem )     = 0;
00103 
00104    //--------------------------------------------------------------------------
00111    //--------------------------------------------------------------------------
00112    virtual RmVariableList* GetVariableList(     const RM_TCHAR *pStrVariableType )  = 0;
00113 
00114    //--------------------------------------------------------------------------
00121    //--------------------------------------------------------------------------
00122    virtual bool DeleteVariableList(             RmVariableList *pVariableList )     = 0;
00123 
00124    //--------------------------------------------------------------------------
00131    //--------------------------------------------------------------------------
00132    virtual bool AddVariable(     RmVariableItem *pVariableItem ) = 0;
00133 
00134    //--------------------------------------------------------------------------
00141    //--------------------------------------------------------------------------
00142    virtual bool RemoveVariable(  RmVariableItem *pVariableItem ) = 0;
00143 
00144 }; // class IRmVariableManager;
00145 
00146 #endif

Generated on Fri Feb 25 16:08:42 2005 for RenderMonkey SDK by doxygen 1.3.6