2006-12-09 11:50:08 +00:00
|
|
|
/*
|
2006-12-11 14:58:25 +00:00
|
|
|
* $Id: ase.idl,v 1.3 2006-12-11 14:58:25 bacon Exp $
|
2006-12-09 11:50:08 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
import "oaidl.idl";
|
|
|
|
import "ocidl.idl";
|
|
|
|
|
|
|
|
/* IAwk */
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
uuid(05BC1C9F-7C4E-4F77-B186-2E0FD26C0641),
|
|
|
|
dual,
|
|
|
|
helpstring("ASE Awk Interface"),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
interface IAwk : IDispatch
|
|
|
|
{
|
|
|
|
[id(1), helpstring("method Parse")]
|
|
|
|
HRESULT Parse([out, retval] int* ret);
|
|
|
|
|
|
|
|
[id(2), helpstring("method Run")]
|
|
|
|
HRESULT Run([out, retval] int* ret);
|
2006-12-11 14:58:25 +00:00
|
|
|
|
|
|
|
[propget, id(3), helpstring("property Option")]
|
|
|
|
HRESULT Option([out, retval] int *pVal);
|
|
|
|
|
|
|
|
[propput, id(3), helpstring("property Option")]
|
|
|
|
HRESULT Option([in] int newVal);
|
2006-12-09 11:50:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/* ASELib */
|
|
|
|
[
|
|
|
|
uuid(F9C69806-16A1-4162-998A-876B33C470BF),
|
|
|
|
version(1.0),
|
|
|
|
helpstring("ASE 1.0 Type Library")
|
|
|
|
]
|
|
|
|
library ASELib
|
|
|
|
{
|
|
|
|
importlib("stdole32.tlb");
|
|
|
|
importlib("stdole2.tlb");
|
|
|
|
|
2006-12-11 14:58:25 +00:00
|
|
|
[helpstring("Awk options")]
|
|
|
|
typedef [v1_enum] enum AwkOption
|
|
|
|
{
|
|
|
|
AWK_IMPLICIT = (1 << 0),
|
|
|
|
AWK_EXPLICIT = (1 << 1),
|
|
|
|
AWK_UNIQUEAFN = (1 << 2),
|
|
|
|
AWK_SHADING = (1 << 3),
|
|
|
|
AWK_SHIFT = (1 << 4),
|
|
|
|
AWK_IDIV = (1 << 5),
|
|
|
|
AWK_HASHSIGN = (1 << 6),
|
|
|
|
AWK_STRCONCAT = (1 << 7),
|
|
|
|
AWK_EXTIO = (1 << 8),
|
|
|
|
AWK_BLOCKLESS = (1 << 9),
|
|
|
|
AWK_STRINDEXONE = (1 << 10),
|
|
|
|
AWK_STRIPSPACES = (1 << 11),
|
|
|
|
AWK_NEXTOFILE = (1 << 12)
|
|
|
|
} AwkOption;
|
|
|
|
|
|
|
|
[helpstring("AwkExtio tpe")]
|
|
|
|
typedef [v1_enum] enum AwkExtioType
|
|
|
|
{
|
|
|
|
AWK_EXTIO_PIPE = 0,
|
|
|
|
AWK_EXTIO_COPROC = 1,
|
|
|
|
AWK_EXTIO_FILE = 2,
|
|
|
|
AWK_EXTIO_CONSOLE = 3
|
|
|
|
} AwkExtioType;
|
|
|
|
|
|
|
|
[helpstring("AwkExtio mode")]
|
|
|
|
typedef [v1_enum] enum AwkExtioMode
|
|
|
|
{
|
|
|
|
AWK_EXTIO_PIPE_READ = 0,
|
|
|
|
AWK_EXTIO_PIPE_WRITE = 1,
|
|
|
|
|
|
|
|
AWK_EXTIO_COPROC_READ = 0,
|
|
|
|
AWK_EXTIO_COPROC_WRITE = 1,
|
|
|
|
AWK_EXTIO_COPROC_RDWR = 2,
|
|
|
|
|
|
|
|
AWK_EXTIO_FILE_READ = 0,
|
|
|
|
AWK_EXTIO_FILE_WRITE = 1,
|
|
|
|
AWK_EXTIO_FILE_APPEND = 2,
|
|
|
|
|
|
|
|
AWK_EXTIO_CONSOLE_READ = 0,
|
|
|
|
AWK_EXTIO_CONSOLE_WRITE = 1
|
|
|
|
} AwkExtioMode;
|
|
|
|
|
2006-12-09 11:50:08 +00:00
|
|
|
/* IBuffer */
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
uuid(AD5EA986-37E9-410E-A78E-21799104293A),
|
|
|
|
dual,
|
|
|
|
helpstring("IBuffer Interface"),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
interface IBuffer : IDispatch
|
|
|
|
{
|
|
|
|
[propget, id(1), helpstring("property Value")]
|
|
|
|
HRESULT Value([out, retval] BSTR *pVal);
|
|
|
|
|
|
|
|
[propput, id(1), helpstring("property Value")]
|
|
|
|
HRESULT Value([in] BSTR newVal);
|
|
|
|
};
|
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
/* IAwkExtio */
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
uuid(BE0B91FF-9944-4DFC-A55B-1FE14E24AFEE),
|
|
|
|
dual,
|
|
|
|
helpstring("IAwkExtio Interface"),
|
|
|
|
pointer_default(unique)
|
|
|
|
]
|
|
|
|
interface IAwkExtio : IDispatch
|
|
|
|
{
|
|
|
|
[propget, id(1), helpstring("property Name")]
|
|
|
|
HRESULT Name([out, retval] BSTR *pVal);
|
|
|
|
|
|
|
|
[propget, id(2), helpstring("property Type")]
|
|
|
|
HRESULT Type([out, retval] int *pVal);
|
|
|
|
|
|
|
|
[propget, id(3), helpstring("property Mode")]
|
|
|
|
HRESULT Mode([out, retval] int *pVal);
|
2006-12-11 14:58:25 +00:00
|
|
|
|
|
|
|
[propget, id(4), helpstring("property Handle")]
|
|
|
|
HRESULT Handle([out, retval] VARIANT *pVal);
|
|
|
|
[propput, id(4), helpstring("property Handle")]
|
|
|
|
HRESULT Handle([in] VARIANT newVal);
|
2006-12-09 17:36:27 +00:00
|
|
|
};
|
|
|
|
|
2006-12-09 11:50:08 +00:00
|
|
|
/* IAwkEvents */
|
|
|
|
[
|
|
|
|
uuid(1351DC8F-10AD-4C40-A2FA-9A2E89C27AC8),
|
|
|
|
helpstring("ASE Awk Events Interface")
|
|
|
|
]
|
|
|
|
dispinterface IAwkEvents
|
|
|
|
{
|
|
|
|
properties:
|
|
|
|
methods:
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(1), helpstring("open the source code")]
|
2006-12-09 11:50:08 +00:00
|
|
|
int OpenSource([in] int mode);
|
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(2), helpstring("close the source code")]
|
2006-12-09 11:50:08 +00:00
|
|
|
int CloseSource([in] int mode);
|
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(3), helpstring("read the source code")]
|
2006-12-09 11:50:08 +00:00
|
|
|
int ReadSource([in] IBuffer* buf);
|
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(4), helpstring("write the source code")]
|
2006-12-09 11:50:08 +00:00
|
|
|
int WriteSource([in] IBuffer* buf);
|
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(5), helpstring("method OpenExtio")]
|
|
|
|
int OpenExtio([in] IAwkExtio* extio);
|
2006-12-09 11:50:08 +00:00
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(6), helpstring("method CloseExtio")]
|
|
|
|
int CloseExtio([in] IAwkExtio* extio);
|
2006-12-09 11:50:08 +00:00
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(7), helpstring("method ReadExtio")]
|
|
|
|
int ReadExtio([in] IAwkExtio* extio, [in] IBuffer* buf);
|
2006-12-09 11:50:08 +00:00
|
|
|
|
2006-12-09 17:36:27 +00:00
|
|
|
[id(8), helpstring("method WriteExtio")]
|
|
|
|
int WriteExtio([in] IAwkExtio* extio, [in] IBuffer* buf);
|
2006-12-11 14:58:25 +00:00
|
|
|
|
|
|
|
[id(9), helpstring("method FlushExtio")]
|
|
|
|
int FlushExtio([in] IAwkExtio* extio);
|
|
|
|
|
|
|
|
[id(10), helpstring("method NextExtio")]
|
|
|
|
int NextExtio([in] IAwkExtio* extio);
|
2006-12-09 11:50:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/* Awk */
|
|
|
|
[
|
|
|
|
uuid(AD863B53-F5EC-45C3-8B1C-6AC678227DC8),
|
|
|
|
helpstring("ASE Awk Class")
|
|
|
|
]
|
|
|
|
coclass Awk
|
|
|
|
{
|
|
|
|
[default] interface IAwk;
|
|
|
|
[default,source] dispinterface IAwkEvents;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* AwkExtio */
|
|
|
|
[
|
|
|
|
uuid(F52F065A-5FD4-4F4D-AFEA-F5E446B16383),
|
|
|
|
helpstring("ASE AwkExtio Class")
|
|
|
|
]
|
|
|
|
coclass AwkExtio
|
|
|
|
{
|
|
|
|
[default] interface IAwkExtio;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Buffer */
|
|
|
|
[
|
|
|
|
uuid(866B79A7-7628-4808-8AE7-784BE2491C80),
|
|
|
|
helpstring("ASE Buffer Class")
|
|
|
|
]
|
|
|
|
coclass Buffer
|
|
|
|
{
|
|
|
|
[default] interface IBuffer;
|
|
|
|
};
|
|
|
|
};
|