/* IVISAUTO.H - Interface definition for IAutoSupport.
 * Copyright (C) 1991-1994 Shapeware Corporation. All rights reserved.
 */

#ifndef _IVISAUTO_H
#define _IVISAUTO_H
             
#include "ivisprox.h"
#include "visconst.h"

#define	CLSID_VISIOAUTOPROXY	"{00021A03-0000-0000-C000-000000000046}"
#define	IID_VISIOAUTOSUPPORT	"{00021A89-0000-0000-C000-000000000046}"

#define	PROXVER		0x00020003L

#undef  INTERFACE
#define INTERFACE   IVAutoSupport

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

    // *** IVAutoSupport methods ***
    STDMETHOD_(DWORD, GetProxyVersion) (THIS) PURE; 
    STDMETHOD_(BOOL, CanRunProxy)	(THIS_ DWORD ver) PURE; 
    
    STDMETHOD(GetVisioObject) 		(THIS_ BOOL fActive, LPVISIOAPPLICATION FAR * ppApp) PURE;
    STDMETHOD(CreateProxy)			(THIS_ LPUNKNOWN ipIUnk, LPCLSID lpclsid, LPVOID FAR * lpipIPrx) PURE;
    STDMETHOD_(LPDISPATCH,GetDispatch)(THIS) PURE;
};

typedef IVAutoSupport FAR* LPVAUTOSUPPORT;


#endif /* _IVISAUTO_H */


