Open Search
    Registry Registration

    About

    A component (interface implementation) can be added to a registry. The component is typically registered along its implementation (see Interface Implementation).

    Registration

    A given component can be registered at a registry using the MAXON_COMPONENT_CLASS_REGISTER macro. It is used to add the component to the registry and to define its ID:

    // This example implements the given interface, registers
    // the component and adds it to the given registry.
    // implementation
    class ColorRedImpl : public maxon::Component<ColorRedImpl, ColorInterface>
    {
    public:
    MAXON_METHOD maxon::String GetName() const
    {
    return "Red"_s;
    }
    {
    color.r = 1.0;
    color.g = 0.0;
    color.b = 0.0;
    return color;
    }
    };
    using namespace maxon;
    // register component class and add it to registry "ColorClasses"
    MAXON_COMPONENT_CLASS_REGISTER(ColorRedImpl, ColorClasses, "net.maxonexample.class.colors.red")
    Definition: objectbase.h:2641
    Definition: string.h:1235
    #define MAXON_COMPONENT(KIND,...)
    Definition: objectbase.h:2199
    #define MAXON_COMPONENT_CLASS_REGISTER(C,...)
    Definition: objectbase.h:2397
    #define MAXON_METHOD
    Definition: interfacebase.h:1012
    The maxon namespace contains all declarations of the MAXON API.
    Definition: autoweight.h:14
    A color consisting of three components R, G and B.
    Definition: col.h:16
    T r
    Definition: col.h:34
    T g
    Definition: col.h:35
    T b
    Definition: col.h:36

    Further Reading