xref: /haiku/src/libs/icon/transformer/TransformerFactory.h (revision fb07ece069b8b7ca52eda06449ce2f0460b294ab)
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