1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2018, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
5 */
6#ifndef TYPE_HANDLER_H
7#define TYPE_HANDLER_H
8
9
10#include <Referenceable.h>
11
12
13class Type;
14class ValueNode;
15class ValueNodeChild;
16
17
18class TypeHandler : public BReferenceable {
19public:
20	virtual						~TypeHandler();
21
22	virtual	const char*			Name() const = 0;
23	virtual	float				SupportsType(Type* type) const = 0;
24	virtual	status_t			CreateValueNode(ValueNodeChild* nodeChild,
25									Type* type, ValueNode*& _node) = 0;
26									// returns a reference
27};
28
29
30#endif	// TYPE_HANDLER_H
31