struct CCL::IScriptingManager

Overview

#include <iscriptingmanager.h>

struct IScriptingManager: public CCL::IScriptingEnvironment
{
    // methods

    virtual void CCL_API startup (
        StringID moduleID,
        ModuleRef module,
        const ArgumentList* args = nullptr,
        tbool load = true
    ) = 0;

    virtual void CCL_API shutdown (ModuleRef module, tbool unload = true) = 0;
    virtual void CCL_API setReporter (Alert::IReporter* reporter) = 0;
    virtual IScriptingHost&CCL_API getHost () = 0;
    virtual void CCL_API garbageCollect (tbool force = true) = 0;
    virtual tbool CCL_API removeReference (IUnknown* nativeObject) = 0;
    virtual void CCL_API dump () = 0;

    virtual IScriptingEnvironment*CCL_API createEnvironment (
        StringRef language,
        ModuleRef module,
        const IAttributeList* options = nullptr
    ) = 0;
};

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 tbool CCL_API isScriptFile (UrlRef path) = 0;

    virtual Scripting::IScript*CCL_API loadScript (
        UrlRef path,
        StringRef packageID = nullptr
    ) = 0;

    virtual Scripting::IScript*CCL_API createScript (
        IStream& stream,
        StringRef fileName,
        StringRef packageID = nullptr,
        IUnknown* package = nullptr
    ) = 0;

    virtual tbool CCL_API executeScript (Variant& returnValue, ScriptRef script) = 0;
    virtual IObject*CCL_API compileScript (ScriptRef script) = 0;

Detailed Documentation

Methods

virtual void CCL_API startup (
    StringID moduleID,
    ModuleRef module,
    const ArgumentList* args = nullptr,
    tbool load = true
) = 0

Startup scripting.

virtual void CCL_API shutdown (ModuleRef module, tbool unload = true) = 0

Shutdown scripting.

virtual void CCL_API setReporter (Alert::IReporter* reporter) = 0

Set alert reporter.

virtual IScriptingHost&CCL_API getHost () = 0

Returns the global scripting host instance.

virtual void CCL_API garbageCollect (tbool force = true) = 0

Garbage collect in all global contexts.

virtual tbool CCL_API removeReference (IUnknown* nativeObject) = 0

Remove reference to native object from all global contexts.

virtual void CCL_API dump () = 0

Dump global context information to debug output.

virtual IScriptingEnvironment*CCL_API createEnvironment (
    StringRef language,
    ModuleRef module,
    const IAttributeList* options = nullptr
) = 0

Create standalone scripting environment for given language.