/* This header file machine-generated by mktyplib.exe */
/* Interface to type library: JEXE */

#ifndef _JEXE_H_
#define _JEXE_H_

DEFINE_GUID(LIBID_JEXE,0x21EB05E1L,0x1AB3,0x11CF,0xA2,0xAC,0x8F,0xF7,0x08,0x74,0xC4,0x60);
#ifndef BEGIN_INTERFACE
#define BEGIN_INTERFACE
#endif

DEFINE_GUID(IID_IJEXEServer,0x21EB05E2L,0x1AB3,0x11CF,0xA2,0xAC,0x8F,0xF7,0x08,0x74,0xC4,0x60);

/* Definition of interface: IJEXEServer */
#undef INTERFACE
#define INTERFACE IJEXEServer

DECLARE_INTERFACE_(IJEXEServer, IDispatch)
{
BEGIN_INTERFACE
#ifndef NO_BASEINTERFACE_FUNCS

    /* IUnknown methods */
    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    STDMETHOD_(ULONG, Release)(THIS) PURE;

    /* IDispatch methods */
    STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;

    STDMETHOD(GetTypeInfo)(
      THIS_
      UINT itinfo,
      LCID lcid,
      ITypeInfo FAR* FAR* pptinfo) PURE;

    STDMETHOD(GetIDsOfNames)(
      THIS_
      REFIID riid,
      OLECHAR FAR* FAR* rgszNames,
      UINT cNames,
      LCID lcid,
      DISPID FAR* rgdispid) PURE;

    STDMETHOD(Invoke)(
      THIS_
      DISPID dispidMember,
      REFIID riid,
      LCID lcid,
      WORD wFlags,
      DISPPARAMS FAR* pdispparams,
      VARIANT FAR* pvarResult,
      EXCEPINFO FAR* pexcepinfo,
      UINT FAR* puArgErr) PURE;
#endif

    /* IJEXEServer methods */
    STDMETHOD(Do)(THIS_ BSTR input, long FAR* r) PURE;
    STDMETHOD(Show)(THIS_ long b, long FAR* r) PURE;
    STDMETHOD(Log)(THIS_ long b, long FAR* r) PURE;
    STDMETHOD(IsBusy)(THIS_ long FAR* r) PURE;
    STDMETHOD(Break)(THIS_ long FAR* r) PURE;
    STDMETHOD(Quit)(THIS_ long FAR* r) PURE;
    STDMETHOD(Get)(THIS_ BSTR jname, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(Set)(THIS_ BSTR jname, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(GetM)(THIS_ BSTR jname, long FAR* jtype, long FAR* jrank, long FAR* jshape, long FAR* jdata, long FAR* r) PURE;
    STDMETHOD(SetM)(THIS_ BSTR jname, long FAR* jtype, long FAR* jrank, long FAR* jshape, long FAR* jdata, long FAR* r) PURE;
    STDMETHOD(ErrorText)(THIS_ long error, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(ErrorTextM)(THIS_ long error, long FAR* text, long FAR* r) PURE;
    STDMETHOD(Clear)(THIS_ long FAR* r) PURE;
    STDMETHOD(Transpose)(THIS_ long b, long FAR* r) PURE;
    STDMETHOD(ErrorTextB)(THIS_ long error, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(GetB)(THIS_ BSTR jname, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(SetB)(THIS_ BSTR jname, VARIANT FAR* v, long FAR* r) PURE;
    STDMETHOD(DoR)(THIS_ BSTR input, VARIANT FAR* v, long FAR* r) PURE;
};

DEFINE_GUID(CLSID_JEXEServer,0x21EB05E0L,0x1AB3,0x11CF,0xA2,0xAC,0x8F,0xF7,0x08,0x74,0xC4,0x60);

#ifdef __cplusplus
class JEXEServer;
#endif

#endif
