class CCL::MetaClassRegistry

Overview

Runtime meta class registry. More…

#include <kernel.h>

class MetaClassRegistry: public CCL::ITypeLibrary
{
public:
    // structs

    struct HashEntry;

    // methods

    PROPERTY_VARIABLE (CStringPtr, libName, LibName);
    bool remove (MetaClassRef metaClass);
    const MetaClass* findType (CStringPtr persistentName) const;
    const MetaClass* findType (UIDRef cid) const;
    Object* createObject (CStringPtr persistentName) const;
    Object* createObject (UIDRef cid) const;
    const LinkedList <MetaClass*>& getClasses () const;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual CStringPtr CCL_API getLibraryName () const = 0;
    virtual IUnknownIterator*CCL_API newTypeIterator () const = 0;
    virtual IUnknownIterator*CCL_API newEnumIterator () const = 0;

    virtual tresult CCL_API getTypeDetails (
        ITypeInfoDetails& result,
        const ITypeInfo& typeInfo
    ) const = 0;

    virtual const ITypeInfo* findTypeInfo (CStringPtr name) const = 0;
    virtual const IEnumTypeInfo* findEnumTypeInfo (CStringPtr name) const = 0;

Detailed Documentation

Runtime meta class registry.

<>