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

RmRegistryManager.h

00001 //=============================================================================
00002 // filename: RmRegistryManager.h                                              
00003 //                                                                            
00004 //           ATI Research, Inc.                                               
00005 //           3D Application Research Group                                    
00006 //                                                                            
00007 // description: RenderMonkey Registry Manager declaration                     
00008 //                                                                            
00009 //=============================================================================
00010 //   (C) 2004 ATI Research, Inc.  All rights reserved.                        
00011 //=============================================================================
00012 
00013 #ifndef _RM_CORE_REGISTRY_MANAGER_H_
00014 #define _RM_CORE_REGISTRY_MANAGER_H_
00015 
00016 #include <Core/RmTypes.h>
00017 #include <Core/RmDefines.h>
00018 
00019 //=============================================================================
00031 //=============================================================================
00032 class RM_API IRmRegistryManager
00033 {
00034 public :
00035    //--------------------------------------------------------------------------
00040    //--------------------------------------------------------------------------
00041    IRmRegistryManager();
00042 
00043    //--------------------------------------------------------------------------
00048    //--------------------------------------------------------------------------
00049    virtual ~IRmRegistryManager();
00050 
00051    //--------------------------------------------------------------------------
00070    //--------------------------------------------------------------------------
00071    virtual RmRegistryBranch* GetRegistryRootBranch( RmNode* pRmNode ) = 0;
00072    
00073    //--------------------------------------------------------------------------
00080    //--------------------------------------------------------------------------
00081    virtual const RM_TCHAR  *GetRegistryRootPath(void) = 0;
00082    
00083    //--------------------------------------------------------------------------
00089    //--------------------------------------------------------------------------
00090    virtual RmRegistryBranch* GetGlobalRegistryRootBranch( RmRegistryBranch *pGlobalRegistryBranch ) = 0;
00091 
00092    //--------------------------------------------------------------------------
00098    //--------------------------------------------------------------------------
00099    virtual const RM_TCHAR *GetRootPlugInBranchPath(void) = 0;
00100 
00101    //--------------------------------------------------------------------------
00108    //--------------------------------------------------------------------------
00109    virtual RmRegistryBranch* GetLocalRegistryBranch() = 0;
00110    
00111    //--------------------------------------------------------------------------
00117    //--------------------------------------------------------------------------
00118    virtual const RM_TCHAR* GetLocalRegistryBranchPath (void) = 0;
00119 
00120    //--------------------------------------------------------------------------
00128    //--------------------------------------------------------------------------
00129    virtual RmRegistryBranch* GetLocalRegistryRootPlugInBranch(void) = 0;
00130    
00131    //--------------------------------------------------------------------------
00138    //--------------------------------------------------------------------------
00139    virtual RmRegistryBranch* GetGlobalRegistryRootPlugInBranch(void) = 0;
00140    
00141    //--------------------------------------------------------------------------
00150    //--------------------------------------------------------------------------
00151    virtual RmRegistryBranch* GetLocalRegistryPlugInUserBranch( const RM_TCHAR *strUserPlugInBranchName ) = 0;
00152 
00153    //--------------------------------------------------------------------------
00161    //--------------------------------------------------------------------------
00162    virtual RmRegistryBranch* GetLocalRegistryBranchForPlugIn( const RM_TCHAR *strPlugInBranchName ) = 0;
00163 
00164    //--------------------------------------------------------------------------
00189    //--------------------------------------------------------------------------
00190    virtual bool LocalPlugInRegistryProcessNodeNameChange( const RM_TCHAR *strPlugInBranchName,
00191                                                           const RM_TCHAR *strPlugInRepositoryName,
00192                                                           const RM_TCHAR *strRegistryName,
00193                                                           RmNode         *pNode, 
00194                                                           RmStringT      *pStrOldName ) = 0;
00195 
00196    //--------------------------------------------------------------------------
00205    //--------------------------------------------------------------------------
00206    virtual bool CreateLocalPlugInRegistryBranch( const RM_TCHAR *strPlugInBranchName ) = 0;
00207 
00208    //--------------------------------------------------------------------------
00218    //--------------------------------------------------------------------------
00219    virtual bool DeleteAllEntriesInLocalPlugInRegistryBranch ( const RM_TCHAR *strPlugInBranchName,
00220                                                               const RM_TCHAR *strPlugInRepositoryName,
00221                                                               const RM_TCHAR *strRegistryName ) = 0;
00222 
00223    //--------------------------------------------------------------------------
00237    //--------------------------------------------------------------------------
00238    virtual RmNode* GetRegistryNode( RmNode *pRegistryBranch, const RM_TCHAR *strRegistryPath ) = 0;
00239 
00240    //--------------------------------------------------------------------------
00241    // RenderMonkey provides ability to save window placement data about user interface windows associated   
00242    // with a particular node in the local registry branch. These methods access a particular branch in      
00243    // the local registry, pointed to by 'pNodeRegistryBranch'. The user of these methods is free to         
00244    // control association of the actual node with the registry branch where the information would be saved, 
00245    // however, typically, the plug-in would have a plug-in specific branch under which it can organize      
00246    // window placement information for each node in a repository for easier access.                         
00247    //--------------------------------------------------------------------------
00248 
00249    //--------------------------------------------------------------------------
00259    //--------------------------------------------------------------------------
00260    virtual bool GetWindowPlacementData( RmRegistryBranch *pNodeRegistryBranch, RmWindowPlacementData &windowPlacementData ) = 0;
00261 
00262    //--------------------------------------------------------------------------
00274    //--------------------------------------------------------------------------
00275    virtual bool SaveWindowPlacementData( RmRegistryBranch *pNodeRegistryBranch, HWND hWnd ) = 0;
00276       
00277    //--------------------------------------------------------------------------
00287    //--------------------------------------------------------------------------
00288    virtual bool SaveWindowPlacementData( RmRegistryBranch *pNodeRegistryBranch, const RmWindowPlacementData &windowPlacementData ) = 0;
00289 
00290    //--------------------------------------------------------------------------
00299    //--------------------------------------------------------------------------
00300    virtual bool CreateWindowPlacementData( HWND hWnd, RmWindowPlacementData &windowPlacementData ) = 0;
00301 
00302    //--------------------------------------------------------------------------
00312    //--------------------------------------------------------------------------
00313    virtual RmRegistryBranch* GetGlobalRegistryUserDefinedBranch( const RM_TCHAR *strRegistryName ) = 0;
00314 
00315    //--------------------------------------------------------------------------
00324    //--------------------------------------------------------------------------
00325    virtual void GlobalRegistrySaveIntegerNode(  RmRegistryBranch *pGeneralRegistryBranch,
00326                                                 const RM_TCHAR   *strNodeName,
00327                                                 int               nValue ) = 0;
00328 
00329    //--------------------------------------------------------------------------
00339    //--------------------------------------------------------------------------
00340    virtual int GlobalRegistryLoadIntegerNode( RmRegistryBranch *pGeneralRegistryBranch,
00341                                               const RM_TCHAR   *strNodeName,
00342                                               int               nDefaultValue ) = 0;
00343 
00344    //--------------------------------------------------------------------------
00353    //--------------------------------------------------------------------------
00354    virtual void GlobalRegistrySaveFloatNode( RmRegistryBranch *pGeneralRegistryBranch,
00355                                              const RM_TCHAR   *strNodeName,
00356                                              float             fValue ) = 0;
00357 
00358    //--------------------------------------------------------------------------
00368    //--------------------------------------------------------------------------
00369    virtual float GlobalRegistryLoadFloatNode( RmRegistryBranch *pGeneralRegistryBranch,
00370                                               const RM_TCHAR   *strNodeName,
00371                                               float             fDefaultValue ) = 0;
00372 
00373    //--------------------------------------------------------------------------
00382    //--------------------------------------------------------------------------
00383    virtual void GlobalRegistrySaveStringNode( RmRegistryBranch *pGeneralRegistryBranch,
00384                                               const RM_TCHAR   *strNodeName,
00385                                               const RM_TCHAR   *pStrValue ) = 0;
00386 
00387    //--------------------------------------------------------------------------
00397    //--------------------------------------------------------------------------
00398    virtual void GlobalRegistryLoadStringNode( RmRegistryBranch *pGeneralRegistryBranch,
00399                                               const RM_TCHAR   *strNodeName,
00400                                               const RM_TCHAR   *pDefaultString,
00401                                               RM_TCHAR         *strResult ) = 0;
00402 
00403 
00404 }; // End of IRmRegistryManager class declaration
00405 
00406 #endif

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