Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIStreamWriterXML.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifdef GUILIANI_WRITE_GUI
11#ifndef GUI_STREAMWRITER_XML__H
12#define GUI_STREAMWRITER_XML__H
13#include "GUIStreamWriter.h"
14
15#define BUFFER_LENGTH 1024
16class eC_String;
17
18
20
40 public CGUIStreamWriter
41{
42public:
44
45 virtual const eC_String& GetFileSuffix() const
46 {
47 static const eC_String ckSuffix(".xml");
48 return ckSuffix;
49 };
50
51 virtual void WriteBool(const eC_Bool bBool, const eC_Char* const pcTag);
52 virtual void WriteUByte(const eC_UByte ubByte, const eC_Char* const pcTag);
53 virtual void WriteByte(const eC_Byte bByte, const eC_Char* const pcTag);
54 virtual void WriteUShort(const eC_UShort usShort, const eC_Char* const pcTag);
55 virtual void WriteShort(const eC_Short Short, const eC_Char* const pcTag);
56 virtual void WriteUInt(const eC_UInt uiInt, const eC_Char* const pcTag);
57 virtual void WriteInt(const eC_Int iInt, const eC_Char* const pcTag);
58
59 virtual void WriteHex(const eC_UInt uiInt, const eC_Char* const pcTag);
60 virtual void WriteFloat(const eC_Float fFloat, const eC_Char* const pcTag);
61 virtual void WriteString(const eC_String &rkString, const eC_Char* const pcTag);
62 virtual void WriteBinary(const eC_TArray<eC_UByte>& aData, const eC_Char* const pcTag);
63
64 virtual void WriteColor(const ColorValue_t eColor, const eC_Char* const pcTag);
65
66 virtual void WriteCommentTag(const eC_Char* const pcTag);
67 virtual void WriteCommentTag(const eC_String &pcTag);
68 virtual void WriteStreamingFileHeader(const eC_Int iFileVersion);
69
70 eC_Bool SetFileEndianess(FileEndianess_t eFileEndianess);
71 eC_Bool SetFileAlignment(FileAlignment_t eFileAlignment);
72
73private:
77
80 CGUIStreamWriterXML& operator=(const CGUIStreamWriterXML& kSource);
81
82 void WriteStringWithoutTermination(const eC_String &pkString);
83
87 void WriteStartTag(const eC_Char* const pcTag);
88
92 void WriteEndTag(const eC_Char* const pcTag);
93
94 // Buffer to write tags before writing to file.
95 eC_Char m_acWriteBuffer[BUFFER_LENGTH];
96};
97
98#endif
99#endif
#define BUFFER_LENGTH
Size of the buffer for tags.
Definition: GUIStreamReader.h:87
Base class for stream writers.
Definition: GUIStreamWriter.h:70
Writes XML-style streaming files.
Definition: GUIStreamWriterXML.h:41
virtual void WriteCommentTag(const eC_Char *const pcTag)
virtual void WriteColor(const ColorValue_t eColor, const eC_Char *const pcTag)
virtual void WriteStreamingFileHeader(const eC_Int iFileVersion)
virtual void WriteShort(const eC_Short Short, const eC_Char *const pcTag)
virtual void WriteCommentTag(const eC_String &pcTag)
virtual void WriteFloat(const eC_Float fFloat, const eC_Char *const pcTag)
virtual const eC_String & GetFileSuffix() const
Definition: GUIStreamWriterXML.h:45
virtual void WriteHex(const eC_UInt uiInt, const eC_Char *const pcTag)
virtual void WriteByte(const eC_Byte bByte, const eC_Char *const pcTag)
virtual void WriteUShort(const eC_UShort usShort, const eC_Char *const pcTag)
virtual void WriteInt(const eC_Int iInt, const eC_Char *const pcTag)
virtual void WriteBool(const eC_Bool bBool, const eC_Char *const pcTag)
eC_Bool SetFileEndianess(FileEndianess_t eFileEndianess)
virtual void WriteString(const eC_String &rkString, const eC_Char *const pcTag)
eC_Bool SetFileAlignment(FileAlignment_t eFileAlignment)
virtual void WriteBinary(const eC_TArray< eC_UByte > &aData, const eC_Char *const pcTag)
virtual void WriteUByte(const eC_UByte ubByte, const eC_Char *const pcTag)
virtual void WriteUInt(const eC_UInt uiInt, const eC_Char *const pcTag)
structure used to stream colors
Definition: GUICommonTypes.h:24