| /* |
| * 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); |
| } |
| } |