Home | History | Annotate | Download | only in hdr
      1 #ifndef _DM_TREE_DEFAULT_ESN_CLASS_H
      2 #define _DM_TREE_DEFAULT_ESN_CLASS_H
      3 
      4 #ifndef __cplusplus
      5 #error "This is a C++ header file; it requires C++ to compile."
      6 #endif
      7 
      8 //------------------------------------------------------------------------
      9 //            Header Name: dm_tree_default_ESN_class.H
     10 //
     11 //  General Description: This file contains the definition of
     12 //                       DMDefaultESN class
     13 //------------------------------------------------------------------------
     14 // Revision History:
     15 //    Author           Modification     Tracking        Description
     16 //                        2003-2007                      refactoring
     17 // c23495             11/29/2006     libgg67059  LOB support
     18 // cdp180              03/16/2007    LIBll55345   Removing ACL check for internal calls
     19 //
     20 // -----------------   ------------    ----------   ----------------------
     21 
     22 //------------------------------------------------------------------------
     23 //                       INCLUDE FILES
     24 //------------------------------------------------------------------------
     25 #include "dm_tree_default_leaf_node_class.H" //header file for class defn
     26 #include "SyncML_DM_FileHandle.H"
     27 //------------------------------------------------------------------------
     28 //                        CONSTANTS
     29 //------------------------------------------------------------------------
     30 //------------------------------------------------------------------------
     31 //                         MACROS
     32 //------------------------------------------------------------------------
     33 //------------------------------------------------------------------------
     34 //                          ENUMS
     35 //------------------------------------------------------------------------
     36 //------------------------------------------------------------------------
     37 //                 STRUCTURES AND OTHER TYPEDEFS
     38 //------------------------------------------------------------------------
     39 //------------------------------------------------------------------------
     40 //                  GLOBAL VARIABLE DECLARATIONS
     41 //------------------------------------------------------------------------
     42 //------------------------------------------------------------------------
     43 //                    FUNCTION PROTOTYPES
     44 //------------------------------------------------------------------------
     45 //------------------------------------------------------------------------
     46 //                          CLASS
     47 //------------------------------------------------------------------------
     48 
     49 //class Definition for Default External Storage Nodes
     50 //IMPORTANT NOTE: A plug-in that supports Interior nodes can derive from
     51 //this class.Only DM_XXX methods are implemented in this class.
     52 // The Plug-in MUST implement functions for Initialization,CreateObject
     53 //callback,SessionEndcallback and GetClassUUID methods.
     54 
     55 class DMDefaultESN:public DMDefaultLeafNode
     56 {
     57 public:
     58    //default constructor
     59    DMDefaultESN(CPCHAR pbFileName);
     60    ~DMDefaultESN();
     61 
     62    //function to add an INTERIOR node for which no plug-in
     63    //registered
     64    virtual SYNCML_DM_RET_STATUS_T Add(DMAddData & oAddData);
     65 
     66    //To delete a node's data :COMMAND NOT ALLOWED on interior node
     67    virtual SYNCML_DM_RET_STATUS_T Delete(CPCHAR pbUri);
     68 
     69    //To get node's data: COMMAND NOT ALLOWED on interior node
     70    virtual SYNCML_DM_RET_STATUS_T Get(CPCHAR pbUri, DMGetData & oReturnData);
     71 
     72    //To get node's format of data: COMMAND NOT ALLOWED on interior node
     73    virtual SYNCML_DM_RET_STATUS_T GetFormat(CPCHAR pbUri,
     74                                                SYNCML_DM_FORMAT_T *pdwRetPropertyData);
     75 
     76    //To get node's type of data: COMMAND NOT ALLOWED on interior node
     77    virtual SYNCML_DM_RET_STATUS_T GetType(CPCHAR pbUri, DMString& strType);
     78 
     79    //To get node's size of data: COMMAND NOT ALLOWED on interior node
     80    virtual SYNCML_DM_RET_STATUS_T GetSize(CPCHAR pbUri, UINT32 *pdwRetPropertyData);
     81 
     82    //To update node's new name in database: COMMAND NOT ALLOWED
     83    //on interior node
     84    virtual SYNCML_DM_RET_STATUS_T Rename(CPCHAR pbUri, CPCHAR psNewNodeName);
     85 
     86    //To replace node's size of data: COMMAND NOT ALLOWED
     87    //on interior node
     88    virtual SYNCML_DM_RET_STATUS_T Replace(DMAddData & oReplace);
     89 
     90    // To rollback the operation,not supported in Phase 1
     91    virtual SYNCML_DM_RET_STATUS_T Rollback();
     92 
     93    virtual SYNCML_DM_RET_STATUS_T Commit();
     94 
     95     BOOLEAN IsSetComplete() const { return m_bSetComplete;}
     96     BOOLEAN IsDirty() const { return m_bDirty;}
     97     BOOLEAN NeedLogging() const { return m_bNeedLogging;}
     98    CPCHAR GetInternalStorageFileName(void) const;
     99    CPCHAR GetOriginalInternalFileName(void) const;
    100    SYNCML_DM_RET_STATUS_T OpenInternalStorageFile();
    101    SYNCML_DM_RET_STATUS_T CloseInternalFile(void);
    102    SYNCML_DM_RET_STATUS_T GetFirstChunk(DmtDataChunk&  chunkData);
    103    SYNCML_DM_RET_STATUS_T GetNextChunk(DmtDataChunk& chunkData);
    104    SYNCML_DM_RET_STATUS_T SetFirstChunk(DmtDataChunk& chunkData);
    105    SYNCML_DM_RET_STATUS_T SetNextChunk(DmtDataChunk& chunkData);
    106    SYNCML_DM_RET_STATUS_T SetLastChunk(DmtDataChunk& chunkData);
    107 
    108 private:
    109    DMString abStorageName;
    110    DMString abOriginalName;
    111    UINT32 totalSize;
    112    BOOLEAN  m_bSetComplete;
    113    BOOLEAN  m_bDirty;
    114    DMFileHandler *fileHandle;
    115    UINT32 offset;
    116    BOOLEAN  m_bNeedLogging;
    117 
    118 
    119 };
    120 //------------------------------------------------------------------------
    121 #endif //_DM_TREE_DEFAULT_ESN_CLASS_H
    122 
    123 
    124