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