13d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/* 23d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Copyright (C) 2014 The Android Open Source Project 33d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 43d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Licensed under the Apache License, Version 2.0 (the "License"); 53d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * you may not use this file except in compliance with the License. 63d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * You may obtain a copy of the License at 73d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 83d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * http://www.apache.org/licenses/LICENSE-2.0 93d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * 103d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Unless required by applicable law or agreed to in writing, software 113d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * distributed under the License is distributed on an "AS IS" BASIS, 123d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * See the License for the specific language governing permissions and 143d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * limitations under the License. 153d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */ 163d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 173d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#ifndef __DMTJAVAPLUGINTREE_H__ 183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define __DMTJAVAPLUGINTREE_H__ 193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "dmt.hpp" 213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "jem_defs.hpp" 223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "plugin/dmtRWPlugin.hpp" 233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass DmtJavaPluginManager; 253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass DmtJavaPluginTree : public DmtRWPluginTree 273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby{ 283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambypublic: 293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DmtJavaPluginTree(const char* rootPath, DMMap<DMString, DMString>& mapParameters); 303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T DeleteNode(const char* path); 313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateInteriorNode(const char* path, PDmtNode& ptrCreatedNode); 323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateLeafNode(const char* path, PDmtNode& ptrCreatedNode, const DmtData& value); 333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateLeafNode(const char* path, PDmtNode& ptrCreatedNode, const DmtData& value, BOOLEAN isESN); 343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateInteriorNodeInternal(const char* path, PDmtNode& ptrCreatedNode, const DMStringVector& childNodeNames); 353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateLeafNodeInternal(const char* path, PDmtNode& ptrCreatedNode, const DmtData& value); 363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T CreateLeafNodeInternal(const char* path, PDmtNode& ptrCreatedNode, const DmtData& value, BOOLEAN isESN); 373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T RenameNode(const char* path, const char* szNewNodeName); 383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T GetNode(const char* path, PDmtNode& ptrNode); 393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T BuildPluginTree(); 403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DMMap<DMString, DMString>& GetParameters(); 413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DMString& GetRootPath(); 423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T GetNodeValueInternal(const char* path, DmtData& value); 433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T SetNodeValueInternal(const char* path, const DmtData& value); 443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual BOOLEAN IsAtomic(); 453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T Flush(); 463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T Commit(); 473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T Begin(); 483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual SYNCML_DM_RET_STATUS_T Rollback(); 493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyprotected: 513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual ~DmtJavaPluginTree(); 523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyprivate: 543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby JemSmartPtr<DmtJavaPluginManager> m_pluginManager; 553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DMMap<DMString, DMString> m_parameters; 563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby BOOLEAN mIsAtomic; 573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby}; 583d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 593d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambytypedef JemSmartPtr<DmtJavaPluginTree> PDmtJavaPluginTree; 603d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 613d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif //__DMTJAVAPLUGINTREE_H__ 62