1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #include "dm_tree_class.H" 18 #include "dm_uri_utils.h" 19 #include "SyncML_DM_Archive.H" 20 #include "xpl_Logger.h" 21 #include "dm_uri_utils.h" 22 23 /*================================================================================================== 24 25 Function: SyncML_DM_Archive::SyncML_DM_Archive 26 27 Description: The SyncML_DM_Archive class constructor. 28 29 ==================================================================================================*/ 30 SyncML_DM_Archive::SyncML_DM_Archive(CEnv* env, CPCHAR pURI, CPCHAR path) 31 : m_pURI(pURI), 32 m_path(path) 33 { 34 rootTreeNode=NULL; 35 parent=NULL; 36 dirty = FALSE; 37 m_bWritableExist = FALSE; 38 m_permission = -1; 39 40 env->GetWFSFullPath(path,m_strWFSFileName); 41 } 42 43 /*================================================================================================== 44 45 Function: SyncML_DM_Archive::~SyncML_DM_Archive 46 47 Description: The SyncML_DM_Archive class deconstructor. 48 49 ==================================================================================================*/ 50 SyncML_DM_Archive::~SyncML_DM_Archive() 51 { 52 if ( rootTreeNode ) 53 rootTreeNode->pArchive = NULL; 54 } 55 56 void 57 SyncML_DM_Archive::getFilePath(char * path, CPCHAR ext) 58 { 59 DmStrcpy(path, m_strWFSFileName); 60 DmStrcat(path, ext); 61 } 62 63 BOOLEAN 64 SyncML_DM_Archive::LoadSkeleton(DMTree* pTree) 65 { 66 if ( rootTreeNode ) 67 return TRUE; 68 69 rootTreeNode = pTree->CreateSkeletonNode( getURI() ); 70 71 if ( rootTreeNode ) 72 rootTreeNode->pArchive = this; 73 else 74 return FALSE; 75 76 return TRUE; 77 } 78 79 80 SYNCML_DM_RET_STATUS_T 81 SyncML_DM_Archive::Init(DMTree* pTree) 82 { 83 if ( !pTree ) 84 return SYNCML_DM_FAIL; 85 86 m_pTree = pTree; 87 return oEventLogger.Init(pTree); 88 89 } 90 91 void 92 SyncML_DM_Archive::setLastAccessedTime(XPL_CLK_CLOCK_T lastAccessedTime) 93 { 94 m_lastAccessedTime = lastAccessedTime; 95 } 96 97 XPL_CLK_CLOCK_T 98 SyncML_DM_Archive::getLastAccessedTime() 99 { 100 return m_lastAccessedTime; 101 } 102