IDataModelScript interface (dbgmodel.h)

An abstraction of a particular script which is being managed by the provider. Each script which is loaded or being edited has a separate IDataModelScript instance.

Any script provider must implement this to represent a script managed by that provider.

Inheritance

IDataModelScript inherits from IUnknown.

Methods

The IDataModelScript interface has these methods.

 
IDataModelScript::AddRef

The IDataModelScript::AddRef method increments the reference count for an interface on an object.
IDataModelScript::Execute

The Execute method executes the content of the script as dictated by the last successful Populate call and modifies the object model of the debugger according to that content.
IDataModelScript::GetName

The GetName method returns the name of the script as an allocated string via the SysAllocString function.
IDataModelScript::InvokeMain

If the script has a "main function" which is intended to execute from a UI invocation, it indicates such via a true return from the IsInvocable method.
IDataModelScript::IsInvocable

The IsInvocable method returns whether or not the script is invocable -- that is, whether it has a "main function" as defined by its language or provider.
IDataModelScript::Populate

The Populate method is called by the client in order to change or synchronize the "content" of the script.
IDataModelScript::QueryInterface

The IDataModelScript::QueryInterface method retrieves pointers to the supported interfaces on an object.
IDataModelScript::Release

The IDataModelScript::Release method decrements the reference count for an interface on an object.
IDataModelScript::Rename

The Rename method assigns a new name to the script.
IDataModelScript::Unlink

The Unlink method undoes the Execute operation. Any object model manipulations or extensibility points established during the execution of the script are undone.

Remarks

The main interface which manages an individual script that is implemented by the provider is the IDataModelScript interface. A component implementing this interface is returned when the client wishes to create a new blank script and calls the CreateScript method on IDataModelScriptProvider.

Each script which is created by the provider should be in an independent silo. One script should not be able to impact another script except through explicit interaction with external objects via the data model. Two scripts, can for instance, both extend some type or concept (e.g.: the debugger's notion of what a process is). Either script can then access each other's fields via the external process object.

Requirements

Requirement Value
Header dbgmodel.h

See also

Debugger Data Model C++ Overview