// ----------------------------------------------------------------------------
// Generated by InterfaceFactory [Thu May 15 21:09:17 2003]
// 
// File        : scriptobjx.h
// Class       : ScriptObject
// class layer : Dispatchable Receiver
// ----------------------------------------------------------------------------

#ifndef __SCRIPTOBJECTX_H
#define __SCRIPTOBJECTX_H

#include "scriptobj.h"

class ScriptHook;
class ScriptObject;
class ScriptObjectController;

// ----------------------------------------------------------------------------

class ScriptObjectX : public ScriptObject {
  protected:
    ScriptObjectX() {}
  public:
    virtual void *vcpu_getInterface(GUID g, int *interfacetype = NULL)=0;
    virtual void *vcpu_getInterfaceObject(GUID g, ScriptObject **o)=0;
    virtual int vcpu_getAssignedVariable(int start, int scriptid, int functionId, int *next, int *globalevententry, int *inheritedevent)=0;
    virtual void vcpu_removeAssignedVariable(int var, int id)=0;
    virtual void vcpu_addAssignedVariable(int var, int scriptid)=0;
    virtual const wchar_t *vcpu_getClassName()=0;
    virtual ScriptObjectController *vcpu_getController()=0;
    virtual int vcpu_getScriptId()=0;
    virtual void vcpu_setScriptId(int i)=0;
    virtual int vcpu_getMember(const wchar_t *id, int scriptid, int rettype)=0;
    virtual void vcpu_delMembers(int scriptid)=0;
    virtual void vcpu_setInterface(GUID g, void *v, int interfacetype = INTERFACE_SCRIPTOBJECT)=0;
    virtual void vcpu_setClassName(const wchar_t *name)=0;
    virtual void vcpu_setController(ScriptObjectController *c)=0;
    virtual void vcpu_init()=0;
  
  protected:
    RECVS_DISPATCH;
};

#endif // __SCRIPTOBJECTX_H