1fb07ece0SStephan Aßmus /* 2*325a6253SAxel 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 11*325a6253SAxel Dörfler 12fb07ece0SStephan Aßmus #include <String.h> 13fb07ece0SStephan Aßmus 14fb07ece0SStephan Aßmus class BMessage; 15*325a6253SAxel Dörfler 16*325a6253SAxel Dörfler 17*325a6253SAxel Dörfler namespace BPrivate { 18*325a6253SAxel Dörfler namespace Icon { 19*325a6253SAxel Dörfler 20fb07ece0SStephan Aßmus class Transformer; 21fb07ece0SStephan Aßmus class VertexSource; 22fb07ece0SStephan Aßmus 23fb07ece0SStephan Aßmus class TransformerFactory { 24fb07ece0SStephan Aßmus public: 25fb07ece0SStephan Aßmus 26fb07ece0SStephan Aßmus static Transformer* TransformerFor(uint32 type, 27fb07ece0SStephan Aßmus VertexSource& source); 28fb07ece0SStephan Aßmus 29fb07ece0SStephan Aßmus #ifdef ICON_O_MATIC 30fb07ece0SStephan Aßmus static Transformer* TransformerFor(BMessage* archive, 31fb07ece0SStephan Aßmus VertexSource& source); 32fb07ece0SStephan Aßmus 33fb07ece0SStephan Aßmus static bool NextType(int32* cookie, 34fb07ece0SStephan Aßmus uint32* type, 35fb07ece0SStephan Aßmus BString* name); 36fb07ece0SStephan Aßmus 37fb07ece0SStephan Aßmus #endif // ICON_O_MATIC 38fb07ece0SStephan Aßmus }; 39fb07ece0SStephan Aßmus 40*325a6253SAxel Dörfler } // namespace Icon 41*325a6253SAxel Dörfler } // namespace BPrivate 42*325a6253SAxel Dörfler 43fb07ece0SStephan Aßmus #endif // TRANSFORMER_FACTORY_H 44