xref: /haiku/src/apps/icon-o-matic/import_export/message/MessageExporter.h (revision 445d4fd926c569e7b9ae28017da86280aaecbae2)
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 
14 class BMessage;
15 class BPositionIO;
16 
17 _BEGIN_ICON_NAMESPACE
18 	class Icon;
19 	class PathContainer;
20 	class Shape;
21 	class Style;
22 	class StyleContainer;
23 	class Transformer;
24 	class VectorPath;
25 _END_ICON_NAMESPACE
26 
27 /** Exporter for the native Icon-O-Matic save format. */
28 class MessageExporter : public Exporter {
29  public:
30 								MessageExporter();
31 	virtual						~MessageExporter();
32 
33 	virtual	status_t			Export(const Icon* icon,
34 									   BPositionIO* stream);
35 
36 	virtual	const char*			MIMEType();
37 
38  private:
39 			status_t			_Export(const VectorPath* path,
40 										BMessage* into) const;
41 			status_t			_Export(const Style* style,
42 										BMessage* into) const;
43 			status_t			_Export(const Shape* shape,
44 										const PathContainer* globalPaths,
45 						 				const StyleContainer* globalStyles,
46 										BMessage* into) const;
47 };
48 
49 #endif // MESSAGE_EXPORTER_H
50