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