/* * $Id: ase.idl,v 1.3 2006-12-11 14:58:25 bacon Exp $ */ 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); [propget, id(3), helpstring("property Option")] HRESULT Option([out, retval] int *pVal); [propput, id(3), helpstring("property Option")] HRESULT Option([in] int newVal); }; /* ASELib */ [ uuid(F9C69806-16A1-4162-998A-876B33C470BF), version(1.0), helpstring("ASE 1.0 Type Library") ] library ASELib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); [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; /* 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); }; /* 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); [propget, id(4), helpstring("property Handle")] HRESULT Handle([out, retval] VARIANT *pVal); [propput, id(4), helpstring("property Handle")] HRESULT Handle([in] VARIANT newVal); }; /* IAwkEvents */ [ uuid(1351DC8F-10AD-4C40-A2FA-9A2E89C27AC8), helpstring("ASE Awk Events Interface") ] dispinterface IAwkEvents { properties: methods: [id(1), helpstring("open the source code")] int OpenSource([in] int mode); [id(2), helpstring("close the source code")] int CloseSource([in] int mode); [id(3), helpstring("read the source code")] int ReadSource([in] IBuffer* buf); [id(4), helpstring("write the source code")] int WriteSource([in] IBuffer* buf); [id(5), helpstring("method OpenExtio")] int OpenExtio([in] IAwkExtio* extio); [id(6), helpstring("method CloseExtio")] int CloseExtio([in] IAwkExtio* extio); [id(7), helpstring("method ReadExtio")] int ReadExtio([in] IAwkExtio* extio, [in] IBuffer* buf); [id(8), helpstring("method WriteExtio")] int WriteExtio([in] IAwkExtio* extio, [in] IBuffer* buf); [id(9), helpstring("method FlushExtio")] int FlushExtio([in] IAwkExtio* extio); [id(10), helpstring("method NextExtio")] int NextExtio([in] IAwkExtio* extio); }; /* 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; }; };