qse/ase/com/AwkExtio.h
2008-03-04 05:20:05 +00:00

54 lines
1.2 KiB
C++

/*
* $Id: AwkExtio.h 117 2008-03-03 11:20:05Z baconevi $
*
* {License}
*/
#ifndef _ASE_COM_AWKEXTIO_H_
#define _ASE_COM_AWKEXTIO_H_
#include "resource.h"
#include <ase/awk/awk.h>
/////////////////////////////////////////////////////////////////////////////
// CAwkExtio
class ATL_NO_VTABLE CAwkExtio :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CAwkExtio, &CLSID_AwkExtio>,
public IDispatchImpl<IAwkExtio, &IID_IAwkExtio, &LIBID_ASECOM>
{
public:
BSTR name;
AwkExtioType type;
AwkExtioMode mode;
VARIANT handle;
IBuffer* read_buf;
ase_size_t read_buf_pos;
ase_size_t read_buf_len;
BOOL PutName (const TCHAR* val);
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:
STDMETHOD(get_Handle)(/*[out, retval]*/ VARIANT *pVal);
STDMETHOD(put_Handle)(/*[in]*/ VARIANT newVal);
STDMETHOD(get_Mode)(/*[out, retval]*/ AwkExtioMode *pVal);
STDMETHOD(get_Type)(/*[out, retval]*/ AwkExtioType *pVal);
STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
};
#endif //__AWKEXTIO_H_