1fb07ece0SStephan Aßmus /* 2325a6253SAxel Dörfler * Copyright 2006-2007, Haiku. 3fb07ece0SStephan Aßmus * Distributed under the terms of the MIT License. 4fb07ece0SStephan Aßmus * 5fb07ece0SStephan Aßmus * Authors: 6fb07ece0SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7fb07ece0SStephan Aßmus */ 8fb07ece0SStephan Aßmus #ifndef TRANSFORMER_FACTORY_H 9fb07ece0SStephan Aßmus #define TRANSFORMER_FACTORY_H 10fb07ece0SStephan Aßmus 11325a6253SAxel Dörfler 12fb07ece0SStephan Aßmus #include <String.h> 13fb07ece0SStephan Aßmus 14*25dc253dSIngo Weinhold #include "IconBuild.h" 15*25dc253dSIngo Weinhold 16*25dc253dSIngo Weinhold 17fb07ece0SStephan Aßmus class BMessage; 18325a6253SAxel Dörfler 19325a6253SAxel Dörfler 20*25dc253dSIngo Weinhold _BEGIN_ICON_NAMESPACE 21*25dc253dSIngo Weinhold 22325a6253SAxel Dörfler 23fb07ece0SStephan Aßmus class Transformer; 24fb07ece0SStephan Aßmus class VertexSource; 25fb07ece0SStephan Aßmus 26fb07ece0SStephan Aßmus class TransformerFactory { 27fb07ece0SStephan Aßmus public: 28fb07ece0SStephan Aßmus 29fb07ece0SStephan Aßmus static Transformer* TransformerFor(uint32 type, 30fb07ece0SStephan Aßmus VertexSource& source); 31fb07ece0SStephan Aßmus 32fb07ece0SStephan Aßmus static Transformer* TransformerFor(BMessage* archive, 33fb07ece0SStephan Aßmus VertexSource& source); 34fb07ece0SStephan Aßmus 358b8d44bfSMichael Lotz #ifdef ICON_O_MATIC 36fb07ece0SStephan Aßmus static bool NextType(int32* cookie, 37fb07ece0SStephan Aßmus uint32* type, 38fb07ece0SStephan Aßmus BString* name); 39fb07ece0SStephan Aßmus 40fb07ece0SStephan Aßmus #endif // ICON_O_MATIC 41fb07ece0SStephan Aßmus }; 42fb07ece0SStephan Aßmus 43*25dc253dSIngo Weinhold 44*25dc253dSIngo Weinhold _END_ICON_NAMESPACE 45*25dc253dSIngo Weinhold 46325a6253SAxel Dörfler 47fb07ece0SStephan Aßmus #endif // TRANSFORMER_FACTORY_H 48