qse/ase/com/AwkExtio.h

54 lines
1.2 KiB
C
Raw Normal View History

2006-12-09 12:01:26 +00:00
/*
2007-04-22 07:49:38 +00:00
* $Id: AwkExtio.h,v 1.11 2007-04-22 07:47:15 bacon Exp $
2007-02-03 10:52:36 +00:00
*
* {License}
2006-12-09 12:01:26 +00:00
*/
2006-12-09 11:50:08 +00:00
2006-12-09 12:01:26 +00:00
#ifndef _ASE_COM_AWKEXTIO_H_
#define _ASE_COM_AWKEXTIO_H_
2006-12-09 11:50:08 +00:00
2006-12-09 12:01:26 +00:00
#include "resource.h"
2006-12-11 08:44:52 +00:00
#include <ase/awk/awk.h>
2006-12-09 11:50:08 +00:00
/////////////////////////////////////////////////////////////////////////////
// CAwkExtio
class ATL_NO_VTABLE CAwkExtio :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CAwkExtio, &CLSID_AwkExtio>,
2007-04-22 07:49:38 +00:00
public IDispatchImpl<IAwkExtio, &IID_IAwkExtio, &LIBID_ASECOM>
2006-12-09 11:50:08 +00:00
{
public:
2006-12-10 16:13:50 +00:00
BSTR name;
2007-04-15 13:15:35 +00:00
AwkExtioType type;
AwkExtioMode mode;
2006-12-15 06:47:09 +00:00
VARIANT handle;
2006-12-09 11:50:08 +00:00
2006-12-11 06:29:19 +00:00
IBuffer* read_buf;
ase_size_t read_buf_pos;
ase_size_t read_buf_len;
2006-12-10 16:13:50 +00:00
BOOL PutName (const TCHAR* val);
2006-12-09 11:50:08 +00:00
CAwkExtio ();
~CAwkExtio ();
DECLARE_REGISTRY_RESOURCEID(IDR_AWKEXTIO)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CAwkExtio)
COM_INTERFACE_ENTRY(IAwkExtio)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IAwkExtio
public:
2006-12-11 14:58:25 +00:00
STDMETHOD(get_Handle)(/*[out, retval]*/ VARIANT *pVal);
STDMETHOD(put_Handle)(/*[in]*/ VARIANT newVal);
2007-04-15 13:15:35 +00:00
STDMETHOD(get_Mode)(/*[out, retval]*/ AwkExtioMode *pVal);
STDMETHOD(get_Type)(/*[out, retval]*/ AwkExtioType *pVal);
2006-12-09 11:50:08 +00:00
STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
};
#endif //__AWKEXTIO_H_