1*fb07ece0SStephan Aßmus /* 2*fb07ece0SStephan Aßmus * Copyright 2006, Haiku. 3*fb07ece0SStephan Aßmus * Distributed under the terms of the MIT License. 4*fb07ece0SStephan Aßmus * 5*fb07ece0SStephan Aßmus * Authors: 6*fb07ece0SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7*fb07ece0SStephan Aßmus */ 8*fb07ece0SStephan Aßmus 9*fb07ece0SStephan Aßmus #ifndef TRANSFORMER_FACTORY_H 10*fb07ece0SStephan Aßmus #define TRANSFORMER_FACTORY_H 11*fb07ece0SStephan Aßmus 12*fb07ece0SStephan Aßmus #include <String.h> 13*fb07ece0SStephan Aßmus 14*fb07ece0SStephan Aßmus class BMessage; 15*fb07ece0SStephan Aßmus class Transformer; 16*fb07ece0SStephan Aßmus class VertexSource; 17*fb07ece0SStephan Aßmus 18*fb07ece0SStephan Aßmus class TransformerFactory { 19*fb07ece0SStephan Aßmus public: 20*fb07ece0SStephan Aßmus 21*fb07ece0SStephan Aßmus static Transformer* TransformerFor(uint32 type, 22*fb07ece0SStephan Aßmus VertexSource& source); 23*fb07ece0SStephan Aßmus 24*fb07ece0SStephan Aßmus #ifdef ICON_O_MATIC 25*fb07ece0SStephan Aßmus static Transformer* TransformerFor(BMessage* archive, 26*fb07ece0SStephan Aßmus VertexSource& source); 27*fb07ece0SStephan Aßmus 28*fb07ece0SStephan Aßmus static bool NextType(int32* cookie, 29*fb07ece0SStephan Aßmus uint32* type, 30*fb07ece0SStephan Aßmus BString* name); 31*fb07ece0SStephan Aßmus 32*fb07ece0SStephan Aßmus #endif // ICON_O_MATIC 33*fb07ece0SStephan Aßmus }; 34*fb07ece0SStephan Aßmus 35*fb07ece0SStephan Aßmus #endif // TRANSFORMER_FACTORY_H 36