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 SYNCML_PlugIn_WBXMLLog_H 183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define SYNCML_PlugIn_WBXMLLog_H 193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#ifndef __cplusplus 213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#error "This is a C++ header file; it requires C++ to compile." 223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif 233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "SyncML_DM_Archive.H" 253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "SyncML_DM_WBXMLWriter.H" 263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "SyncML_DM_WBXMLReader.H" 273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "SyncML_Log.H" 283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "dmt.hpp" 293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "dmtRWPlugin.hpp" 313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass SyncML_PlugIn_WBXMLLog : public SyncML_Log 333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby{ 343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby public: 363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /* Class constructor */ 383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SyncML_PlugIn_WBXMLLog(const DmtRWPluginTree *pluginTree, CPCHAR rootPath); 393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /* Class destructor */ 413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby virtual ~SyncML_PlugIn_WBXMLLog(); 423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby // Open log file and create one if the file doesn't exist 443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T InitLog(CPCHAR logFileName); 453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby // Uninitialize log 463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T UnInitLog(); 473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /* Log one command */ 483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T logCommand(SYNCML_DM_PLUGIN_COMMAND_T commandType, 493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby CPCHAR pbURI, 503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_PLUGIN_COMMAND_ATTRIBUTE_T attribute, 513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby const DmtNode* inNode); 523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /* Playback log file */ 543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T playLog(); 553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T playLog(CPCHAR logFileName); 563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 583d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby private: 593d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 603d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby /* Performs the actual recovery function calls */ 613d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T playbackOneRecord(SYNCML_DM_PLUGIN_COMMAND_T commandType, 623d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby CPCHAR pbURI, 633d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_PLUGIN_COMMAND_ATTRIBUTE_T attribute, 643d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DMAddNodeProp* props); 653d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 663d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T gotoLastRecord(SyncML_DM_WBXMLReader* reader, 673d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby UINT8 *lastByte, 683d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby INT32 *currentPos ); 693d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 703d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T writeLogHeader(SyncML_DM_WBXMLWriter* writer); 713d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T writeURIInfo(SYNCML_DM_PLUGIN_COMMAND_T commandType, 723d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby CPCHAR pbURI, 733d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SyncML_DM_WBXMLWriter* writer); 743d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 753d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T writePluginNode(CPCHAR pbURI, 763d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SyncML_DM_WBXMLWriter* writer, 773d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby const DmtNode* ptrNode); 783d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 793d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SYNCML_DM_RET_STATUS_T updatePosition(SyncML_DM_WBXMLWriter* writer); 803d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 813d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby DMString m_strRootPath; 823d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby INT32 prevRecord; 833d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby const DmtRWPluginTree *pluginTree; 843d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SyncML_DM_WBXMLWriter* writer; 853d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby SyncML_DM_WBXMLReader* reader; 863d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 873d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby}; 883d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby 893d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif /* SYNCML_PlugIn_WBXMLLog_H */ 90