1/*
2 * Copyright 2006-2007, Haiku. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Stephan A��mus <superstippi@gmx.de>
7 */
8#ifndef MESSAGE_EXPORTER_H
9#define MESSAGE_EXPORTER_H
10
11
12#include "Exporter.h"
13
14class BMessage;
15class BPositionIO;
16
17_BEGIN_ICON_NAMESPACE
18	template <class Type> class Container;
19	class Icon;
20	class Shape;
21	class Style;
22	class Transformer;
23	class VectorPath;
24_END_ICON_NAMESPACE
25
26/** Exporter for the native Icon-O-Matic save format. */
27class MessageExporter : public Exporter {
28 public:
29								MessageExporter();
30	virtual						~MessageExporter();
31
32	virtual	status_t			Export(const Icon* icon,
33									   BPositionIO* stream);
34
35	virtual	const char*			MIMEType();
36
37 private:
38			status_t			_Export(const VectorPath* path,
39										BMessage* into) const;
40			status_t			_Export(const Style* style,
41										BMessage* into) const;
42			status_t			_Export(const Shape* shape,
43										const Container<VectorPath>* globalPaths,
44										const Container<Style>* globalStyles,
45										BMessage* into) const;
46};
47
48#endif // MESSAGE_EXPORTER_H
49