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