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 13 class Type; 14 class ValueNode; 15 class ValueNodeChild; 16 17 18 class TypeHandler : public BReferenceable { 19 public: 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