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