* Copyright 2006-2007, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stephan Aßmus <superstippi@gmx.de>
*/
#ifndef MESSAGE_IMPORTER_H
#define MESSAGE_IMPORTER_H
#ifdef ICON_O_MATIC
# include "Importer.h"
#else
# include <SupportDefs.h>
#endif
#include "IconBuild.h"
class BMessage;
class BPositionIO;
_BEGIN_ICON_NAMESPACE
template <class Type> class Container;
class Icon;
class PathContainer;
class Shape;
class Style;
class VectorPath;
#ifdef ICON_O_MATIC
class MessageImporter : public Importer {
#else
class MessageImporter {
#endif
public:
MessageImporter();
virtual ~MessageImporter();
status_t Import(Icon* icon,
BPositionIO* stream);
private:
status_t _ImportPaths(const BMessage* archive,
Container<VectorPath>* paths) const;
status_t _ImportStyles(const BMessage* archive,
Container<Style>* styles) const;
status_t _ImportShapes(const BMessage* archive,
Container<VectorPath>* paths,
Container<Style>* styles,
Container<Shape>* shapes) const;
};
_END_ICON_NAMESPACE
#endif