/*** Autogenerated by WIDL 0.9.31 from oleaut.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>

#ifndef __WIDL_OLEAUT_H
#define __WIDL_OLEAUT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <oaidl.h>
#include <ocidl.h>
typedef enum __WIDL_oleaut_generated_name_00000000 {
    TIEMU_CALC_TI92 = 1,
    TIEMU_CALC_TI89 = 2,
    TIEMU_CALC_TI92p = 4,
    TIEMU_CALC_V200 = 8,
    TIEMU_CALC_TI89t = 16
} TiEmuCalcModels;
#ifndef __ITiEmuOLE_FWD_DEFINED__
#define __ITiEmuOLE_FWD_DEFINED__
typedef interface ITiEmuOLE ITiEmuOLE;
#endif

/*****************************************************************************
 * ITiEmuOLE interface
 */
#ifndef __ITiEmuOLE_INTERFACE_DEFINED__
#define __ITiEmuOLE_INTERFACE_DEFINED__

DEFINE_GUID(IID_ITiEmuOLE, 0xe9373bd9, 0x7363, 0x427f, 0xa2,0xa6, 0x1e,0x8b,0xa9,0x1f,0xfb,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
interface ITiEmuOLE : public IDispatch
{
    virtual HRESULT STDMETHODCALLTYPE image_loaded(
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE emulated_calc_type(
        int* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE emulated_hw_version(
        int* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE emulated_os_version(
        BSTR* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE ready_for_transfers(
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE send_file(
        BSTR filename,
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE debug_file(
        BSTR filename,
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE reset_calc(
        VARIANT_BOOL clearmem,
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE execute_command(
        BSTR command,
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE turn_calc_on(
        VARIANT_BOOL* ret) = 0;

    virtual HRESULT STDMETHODCALLTYPE enter_debugger(
        VARIANT_BOOL* ret) = 0;

};
#else
typedef struct ITiEmuOLEVtbl {
    BEGIN_INTERFACE

    /*** IUnknown methods ***/
    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
        ITiEmuOLE* This,
        REFIID riid,
        void** ppvObject);

    ULONG (STDMETHODCALLTYPE *AddRef)(
        ITiEmuOLE* This);

    ULONG (STDMETHODCALLTYPE *Release)(
        ITiEmuOLE* This);

    /*** IDispatch methods ***/
    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
        ITiEmuOLE* This,
        UINT* pctinfo);

    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
        ITiEmuOLE* This,
        UINT iTInfo,
        LCID lcid,
        ITypeInfo** ppTInfo);

    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
        ITiEmuOLE* This,
        REFIID riid,
        LPOLESTR* rgszNames,
        UINT cNames,
        LCID lcid,
        DISPID* rgDispId);

    HRESULT (STDMETHODCALLTYPE *Invoke)(
        ITiEmuOLE* This,
        DISPID dispIdMember,
        REFIID riid,
        LCID lcid,
        WORD wFlags,
        DISPPARAMS* pDispParams,
        VARIANT* pVarResult,
        EXCEPINFO* pExcepInfo,
        UINT* puArgErr);

    /*** ITiEmuOLE methods ***/
    HRESULT (STDMETHODCALLTYPE *image_loaded)(
        ITiEmuOLE* This,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *emulated_calc_type)(
        ITiEmuOLE* This,
        int* ret);

    HRESULT (STDMETHODCALLTYPE *emulated_hw_version)(
        ITiEmuOLE* This,
        int* ret);

    HRESULT (STDMETHODCALLTYPE *emulated_os_version)(
        ITiEmuOLE* This,
        BSTR* ret);

    HRESULT (STDMETHODCALLTYPE *ready_for_transfers)(
        ITiEmuOLE* This,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *send_file)(
        ITiEmuOLE* This,
        BSTR filename,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *debug_file)(
        ITiEmuOLE* This,
        BSTR filename,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *reset_calc)(
        ITiEmuOLE* This,
        VARIANT_BOOL clearmem,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *execute_command)(
        ITiEmuOLE* This,
        BSTR command,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *turn_calc_on)(
        ITiEmuOLE* This,
        VARIANT_BOOL* ret);

    HRESULT (STDMETHODCALLTYPE *enter_debugger)(
        ITiEmuOLE* This,
        VARIANT_BOOL* ret);

    END_INTERFACE
} ITiEmuOLEVtbl;
interface ITiEmuOLE {
    CONST_VTBL ITiEmuOLEVtbl* lpVtbl;
};

#ifdef COBJMACROS
/*** IUnknown methods ***/
#define ITiEmuOLE_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define ITiEmuOLE_AddRef(p) (p)->lpVtbl->AddRef(p)
#define ITiEmuOLE_Release(p) (p)->lpVtbl->Release(p)
/*** IDispatch methods ***/
#define ITiEmuOLE_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a)
#define ITiEmuOLE_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c)
#define ITiEmuOLE_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e)
#define ITiEmuOLE_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h)
/*** ITiEmuOLE methods ***/
#define ITiEmuOLE_image_loaded(p,a) (p)->lpVtbl->image_loaded(p,a)
#define ITiEmuOLE_emulated_calc_type(p,a) (p)->lpVtbl->emulated_calc_type(p,a)
#define ITiEmuOLE_emulated_hw_version(p,a) (p)->lpVtbl->emulated_hw_version(p,a)
#define ITiEmuOLE_emulated_os_version(p,a) (p)->lpVtbl->emulated_os_version(p,a)
#define ITiEmuOLE_ready_for_transfers(p,a) (p)->lpVtbl->ready_for_transfers(p,a)
#define ITiEmuOLE_send_file(p,a,b) (p)->lpVtbl->send_file(p,a,b)
#define ITiEmuOLE_debug_file(p,a,b) (p)->lpVtbl->debug_file(p,a,b)
#define ITiEmuOLE_reset_calc(p,a,b) (p)->lpVtbl->reset_calc(p,a,b)
#define ITiEmuOLE_execute_command(p,a,b) (p)->lpVtbl->execute_command(p,a,b)
#define ITiEmuOLE_turn_calc_on(p,a) (p)->lpVtbl->turn_calc_on(p,a)
#define ITiEmuOLE_enter_debugger(p,a) (p)->lpVtbl->enter_debugger(p,a)
#endif

#endif

HRESULT CALLBACK ITiEmuOLE_image_loaded_Proxy(
    ITiEmuOLE* This,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_image_loaded_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_emulated_calc_type_Proxy(
    ITiEmuOLE* This,
    int* ret);
void __RPC_STUB ITiEmuOLE_emulated_calc_type_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_emulated_hw_version_Proxy(
    ITiEmuOLE* This,
    int* ret);
void __RPC_STUB ITiEmuOLE_emulated_hw_version_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_emulated_os_version_Proxy(
    ITiEmuOLE* This,
    BSTR* ret);
void __RPC_STUB ITiEmuOLE_emulated_os_version_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_ready_for_transfers_Proxy(
    ITiEmuOLE* This,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_ready_for_transfers_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_send_file_Proxy(
    ITiEmuOLE* This,
    BSTR filename,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_send_file_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_debug_file_Proxy(
    ITiEmuOLE* This,
    BSTR filename,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_debug_file_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_reset_calc_Proxy(
    ITiEmuOLE* This,
    VARIANT_BOOL clearmem,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_reset_calc_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_execute_command_Proxy(
    ITiEmuOLE* This,
    BSTR command,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_execute_command_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_turn_calc_on_Proxy(
    ITiEmuOLE* This,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_turn_calc_on_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);
HRESULT CALLBACK ITiEmuOLE_enter_debugger_Proxy(
    ITiEmuOLE* This,
    VARIANT_BOOL* ret);
void __RPC_STUB ITiEmuOLE_enter_debugger_Stub(
    IRpcStubBuffer* This,
    IRpcChannelBuffer* pRpcChannelBuffer,
    PRPC_MESSAGE pRpcMessage,
    DWORD* pdwStubPhase);

#endif  /* __ITiEmuOLE_INTERFACE_DEFINED__ */


DEFINE_GUID(LIBID_TiEmuOLELib, 0x6140dc7c, 0x3d74, 0x41f9, 0xa7,0x87, 0x59,0x46,0x99,0x4a,0xa8,0xf2);

/*****************************************************************************
 * TiEmuOLE coclass
 */

DEFINE_GUID(CLSID_TiEmuOLE, 0xb2a17b13, 0x9d6f, 0x4dd4, 0xa2,0xa9, 0x6f,0xe0,0x6a,0xdc,0x1d,0x33);

#ifndef __TiEmuOLE_FWD_DEFINED__
#define __TiEmuOLE_FWD_DEFINED__
typedef struct TiEmuOLE TiEmuOLE;
#endif /* defined __TiEmuOLE_FWD_DEFINED__ */

/* Begin additional prototypes for all interfaces */

ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);

/* End additional prototypes */

#ifdef __cplusplus
}
#endif
#endif /* __WIDL_OLEAUT_H */
