| /* | |
| * Copyright 2010 Jacek Caban for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #pragma makedep typelib | |
| #include "ihost_dispid.h" | |
| import "oaidl.idl"; | |
| [ | |
| uuid(60254ca0-953b-11cf-8c96-00aa00b8708c), | |
| version(5.6), | |
| ] | |
| library IHost | |
| { | |
| importlib("stdole2.tlb"); | |
| [ | |
| odl, | |
| uuid(2cc5a9d1-b1e5-11d3-a286-00104bd35090), | |
| dual, | |
| oleautomation | |
| ] | |
| interface IArguments2 : IDispatch { | |
| [id(DISPID_VALUE)] | |
| HRESULT Item( | |
| [in] LONG Index, | |
| [out, retval] BSTR *out_Value); | |
| [id(IARGUMENTS2_COUNT_DISPID)] | |
| HRESULT Count([out, retval] LONG *out_Count); | |
| [id(IARGUMENTS2_LENGTH_DISPID), propget] | |
| HRESULT length([out, retval] LONG *out_Count); | |
| } | |
| [ | |
| odl, | |
| uuid(53bad8c1-e718-11cf-893d-00a0c9054228), | |
| hidden, | |
| dual, | |
| nonextensible, | |
| oleautomation | |
| ] | |
| interface ITextStream : IDispatch { | |
| [id(ITEXTSTREAM_LINE_DISPID), propget] | |
| HRESULT Line([out, retval] LONG *Line); | |
| [id(ITEXTSTREAM_COLUMN_DISPID), propget] | |
| HRESULT Column([out, retval] LONG *Column); | |
| [id(ITEXTSTREAM_ATENDOFSTREAM_DISPID), propget] | |
| HRESULT AtEndOfStream([out, retval] VARIANT_BOOL *EOS); | |
| [id(ITEXTSTREAM_ATENDOFLINE_DISPID), propget] | |
| HRESULT AtEndOfLine([out, retval] VARIANT_BOOL *EOL); | |
| [id(ITEXTSTREAM_READ_DISPID)] | |
| HRESULT Read( | |
| [in] LONG Characters, | |
| [out, retval] BSTR *Text); | |
| [id(ITEXTSTREAM_READLINE_DISPID)] | |
| HRESULT ReadLine([out, retval] BSTR *Text); | |
| [id(ITEXTSTREAM_READALL_DISPID)] | |
| HRESULT ReadAll([out, retval] BSTR *Text); | |
| [id(ITEXTSTREAM_WRITE_DISPID)] | |
| HRESULT Write([in] BSTR Text); | |
| [id(ITEXTSTREAM_WRITELINE_DISPID)] | |
| HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text); | |
| [id(ITEXTSTREAM_WRITEBLANKLINES_DISPID)] | |
| HRESULT WriteBlankLines([in] LONG Lines); | |
| [id(ITEXTSTREAM_SKIP_DISPID)] | |
| HRESULT Skip([in] LONG Characters); | |
| [id(ITEXTSTREAM_SKIPLINE_DISPID)] | |
| HRESULT SkipLine(); | |
| [id(ITEXTSTREAM_CLOSE_DISPID)] | |
| HRESULT Close(); | |
| } | |
| [ | |
| odl, | |
| uuid(91afbd1b-5feb-43f5-b028-e2ca960617ec), | |
| dual, | |
| oleautomation | |
| ] | |
| interface IHost : IDispatch { | |
| [id(IHOST_NAME_DISPID), propget] | |
| HRESULT Name([out, retval] BSTR *out_Name); | |
| [id(IHOST_APPLICATION_DISPID), propget] | |
| HRESULT Application([out, retval] IDispatch **out_Dispatch); | |
| [id(IHOST_FULLNAME_DISPID), propget] | |
| HRESULT FullName([out, retval] BSTR *out_Path); | |
| [id(IHOST_PATH_DISPID), propget] | |
| HRESULT Path([out, retval] BSTR* out_Path); | |
| [id(IHOST_INTERACTIVE_DISPID), propget] | |
| HRESULT Interactive([out, retval] VARIANT_BOOL *out_Interactive); | |
| [id(IHOST_INTERACTIVE_DISPID), propput] | |
| HRESULT Interactive([in] VARIANT_BOOL out_Interactive); | |
| [id(IHOST_QUIT_DISPID)] | |
| HRESULT Quit([in, optional, defaultvalue(0)] int ExitCode); | |
| [id(IHOST_SCRIPTNAME_DISPID), propget] | |
| HRESULT ScriptName([out, retval] BSTR *out_ScriptName); | |
| [id(IHOST_SCRIPTFULLNAME_DISPID), propget] | |
| HRESULT ScriptFullName([out, retval] BSTR* out_ScriptFullName); | |
| [id(IHOST_ARGUMENTS_DISPID), propget] | |
| HRESULT Arguments([out, retval] IArguments2 **out_Arguments); | |
| [id(IHOST_VERSION_DISPID), propget] | |
| HRESULT Version([out, retval] BSTR *out_Version); | |
| [id(IHOST_BUILDVERSION_DISPID), propget] | |
| HRESULT BuildVersion([out, retval] int *out_Build); | |
| [id(IHOST_TIMEOUT_DISPID), propget] | |
| HRESULT Timeout([out, retval] LONG *out_Timeout); | |
| [id(IHOST_TIMEOUT_DISPID), propput] | |
| HRESULT Timeout([in] LONG out_Timeout); | |
| [id(IHOST_CREATEOBJECT_DISPID)] | |
| HRESULT CreateObject( | |
| [in] BSTR ProgID, | |
| [in, optional, defaultvalue("")] BSTR Prefix, | |
| [out, retval] IDispatch **out_Dispatch); | |
| [id(IHOST_ECHO_DISPID), vararg] | |
| HRESULT Echo([in] SAFEARRAY(VARIANT) pArgs); | |
| [id(IHOST_GETOBJECT_DISPID)] | |
| HRESULT GetObject( | |
| [in] BSTR Pathname, | |
| [in, optional, defaultvalue("")] BSTR ProgID, | |
| [in, optional, defaultvalue("")] BSTR Prefix, | |
| [out, retval] IDispatch **out_Dispatch); | |
| [id(IHOST_DISCONNECTOBJECT_DISPID)] | |
| HRESULT DisconnectObject([in] IDispatch *Object); | |
| [id(IHOST_SLEEP_DISPID)] | |
| HRESULT Sleep([in] LONG Time); | |
| [id(IHOST_CONNECTOBJECT_DISPID)] | |
| HRESULT ConnectObject( | |
| [in] IDispatch *Object, | |
| [in] BSTR Prefix); | |
| [id(IHOST_STDIN_DISPID), propget] | |
| HRESULT StdIn([out, retval] ITextStream **out_ppts); | |
| [id(IHOST_STDOUT_DISPID), propget] | |
| HRESULT StdOut([out, retval] ITextStream **ppts); | |
| [id(IHOST_STDERR_DISPID), propget] | |
| HRESULT StdErr([out, retval] ITextStream **ppts); | |
| } | |
| } |