Program Listing for File module.idl#

Return to documentation for file (interfaces\module.idl)

#include "core.idl"

module sdv
{
    module core
    {
        typedef uint64 TModuleID;

        const TModuleID tCoreLibModule = 0xffffffffffffffffu;

        interface IModuleControl
        {
            TModuleID Load(in u8string ssModulePath);

            boolean Unload(in TModuleID tModuleID);

            boolean HasActiveObjects(in TModuleID tModuleID) const;
        };

        interface IModuleControlConfig
        {
            boolean AddModuleSearchDir(in u8string ssDir);

            sequence<u8string> GetModuleSearchDirs() const;
        };

        struct SModuleInfo
        {
            TModuleID   tModuleID;
            u8string    ssPath;
            u8string    ssFilename;
            uint32      uiVersion;
            boolean     bActive;
        };

        interface IModuleInfo
        {
            sequence<SModuleInfo> GetModuleList() const;

            sequence<SClassInfo> GetClassList(in TModuleID tModuleID) const;
        };
    };
};