svcore  1.9
XmlExportable.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7  This file copyright 2006 Chris Cannam.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #ifndef _XML_EXPORTABLE_H_
17 #define _XML_EXPORTABLE_H_
18 
19 #include <QString>
20 
21 #include "Debug.h"
22 
23 class QTextStream;
24 
26 {
27 public:
28  virtual ~XmlExportable() { }
29 
33  virtual void toXml(QTextStream &stream,
34  QString indent = "",
35  QString extraAttributes = "") const = 0;
36 
42  virtual QString toXmlString(QString indent = "",
43  QString extraAttributes = "") const;
44 
45  static QString encodeEntities(QString);
46 
47  static QString encodeColour(int r, int g, int b);
48 
49  static int getObjectExportId(const void *); // thread-safe
50 };
51 
52 #endif
virtual void toXml(QTextStream &stream, QString indent="", QString extraAttributes="") const =0
Stream this exportable object out to XML on a text stream.
static int getObjectExportId(const void *)
static QString encodeEntities(QString)
virtual QString toXmlString(QString indent="", QString extraAttributes="") const
Convert this exportable object to XML in a string.
static QString encodeColour(int r, int g, int b)
virtual ~XmlExportable()
Definition: XmlExportable.h:28