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_DM_WRITER_H
183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define SYNCML_DM_WRITER_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_FileHandle.H"
253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass SyncML_DM_Writer
273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby{
283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby  public:
303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    /* Class constructor */
323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    SyncML_DM_Writer(DMFileHandler* handle) : fileHandle(handle){ }
333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby        /* Class destructor */
353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    virtual ~SyncML_DM_Writer(){ }
363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    /* Accessor for setting the file handle used by this class */
383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    virtual void setFileHandle(DMFileHandler* fileHandle){ this->fileHandle = fileHandle; }
393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    /* write a byte into the file
413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby     * implementations of this class will take advantage of this method
423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby     */
433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    virtual SYNCML_DM_RET_STATUS_T writeByte(UINT8 bYte) = 0;
443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    /* write a string into the file
463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby     * implementations of this class will take advantage of this method
473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby     */
483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    virtual SYNCML_DM_RET_STATUS_T writeString(CPCHAR string) = 0;
493d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
503d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby  protected:
513d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
523d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    /* file handle used by class' utility methods */
533d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    DMFileHandler* fileHandle;
543d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
553d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby};
563d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
573d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif /* SYNCML_DM_WRITER_H */
58