2 * Copyright 2010 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #pragma makedep typelib
21 #include
"ihost_dispid.h"
26 uuid(60254ca0
-953b
-11cf
-8c96
-00aa00b8708c
),
31 importlib
("stdole2.tlb");
35 uuid(2cc5a9d1
-b1e5
-11d3
-a286
-00104bd35090
),
39 interface IArguments2
: IDispatch
{
43 [out, retval] BSTR *out_Value
);
45 [id(IARGUMENTS2_COUNT_DISPID
)]
46 HRESULT Count
([out, retval] LONG *out_Count
);
48 [id(IARGUMENTS2_LENGTH_DISPID
), propget]
49 HRESULT length
([out, retval] LONG *out_Count
);
54 uuid(53bad8c1
-e718
-11cf
-893d
-00a0c9054228
),
60 interface ITextStream
: IDispatch
{
61 [id(ITEXTSTREAM_LINE_DISPID
), propget]
62 HRESULT Line
([out, retval] LONG *Line
);
64 [id(ITEXTSTREAM_COLUMN_DISPID
), propget]
65 HRESULT Column
([out, retval] LONG *Column
);
67 [id(ITEXTSTREAM_ATENDOFSTREAM_DISPID
), propget]
68 HRESULT AtEndOfStream
([out, retval] VARIANT_BOOL *EOS
);
70 [id(ITEXTSTREAM_ATENDOFLINE_DISPID
), propget]
71 HRESULT AtEndOfLine
([out, retval] VARIANT_BOOL *EOL
);
73 [id(ITEXTSTREAM_READ_DISPID
)]
76 [out, retval] BSTR *Text
);
78 [id(ITEXTSTREAM_READLINE_DISPID
)]
79 HRESULT ReadLine
([out, retval] BSTR *Text
);
81 [id(ITEXTSTREAM_READALL_DISPID
)]
82 HRESULT ReadAll
([out, retval] BSTR *Text
);
84 [id(ITEXTSTREAM_WRITE_DISPID
)]
85 HRESULT Write
([in] BSTR Text
);
87 [id(ITEXTSTREAM_WRITELINE_DISPID
)]
88 HRESULT WriteLine
([in, optional, defaultvalue("")] BSTR Text
);
90 [id(ITEXTSTREAM_WRITEBLANKLINES_DISPID
)]
91 HRESULT WriteBlankLines
([in] LONG Lines
);
93 [id(ITEXTSTREAM_SKIP_DISPID
)]
94 HRESULT Skip
([in] LONG Characters
);
96 [id(ITEXTSTREAM_SKIPLINE_DISPID
)]
99 [id(ITEXTSTREAM_CLOSE_DISPID
)]
105 uuid(91afbd1b
-5feb
-43f5
-b028
-e2ca960617ec
),
109 interface IHost
: IDispatch
{
110 [id(IHOST_NAME_DISPID
), propget]
111 HRESULT Name
([out, retval] BSTR *out_Name
);
113 [id(IHOST_APPLICATION_DISPID
), propget]
114 HRESULT Application
([out, retval] IDispatch
**out_Dispatch
);
116 [id(IHOST_FULLNAME_DISPID
), propget]
117 HRESULT FullName
([out, retval] BSTR *out_Path
);
119 [id(IHOST_PATH_DISPID
), propget]
120 HRESULT Path
([out, retval] BSTR* out_Path
);
122 [id(IHOST_INTERACTIVE_DISPID
), propget]
123 HRESULT Interactive
([out, retval] VARIANT_BOOL *out_Interactive
);
125 [id(IHOST_INTERACTIVE_DISPID
), propput]
126 HRESULT Interactive
([in] VARIANT_BOOL out_Interactive
);
128 [id(IHOST_QUIT_DISPID
)]
129 HRESULT Quit
([in, optional, defaultvalue(0)] int ExitCode
);
131 [id(IHOST_SCRIPTNAME_DISPID
), propget]
132 HRESULT ScriptName
([out, retval] BSTR *out_ScriptName
);
134 [id(IHOST_SCRIPTFULLNAME_DISPID
), propget]
135 HRESULT ScriptFullName
([out, retval] BSTR* out_ScriptFullName
);
137 [id(IHOST_ARGUMENTS_DISPID
), propget]
138 HRESULT Arguments
([out, retval] IArguments2
**out_Arguments
);
140 [id(IHOST_VERSION_DISPID
), propget]
141 HRESULT Version([out, retval] BSTR *out_Version
);
143 [id(IHOST_BUILDVERSION_DISPID
), propget]
144 HRESULT BuildVersion
([out, retval] int *out_Build
);
146 [id(IHOST_TIMEOUT_DISPID
), propget]
147 HRESULT Timeout
([out, retval] LONG *out_Timeout
);
149 [id(IHOST_TIMEOUT_DISPID
), propput]
150 HRESULT Timeout
([in] LONG out_Timeout
);
152 [id(IHOST_CREATEOBJECT_DISPID
)]
153 HRESULT CreateObject
(
155 [in, optional, defaultvalue("")] BSTR Prefix
,
156 [out, retval] IDispatch
**out_Dispatch
);
158 [id(IHOST_ECHO_DISPID
), vararg]
159 HRESULT Echo
([in] SAFEARRAY(VARIANT) pArgs
);
161 [id(IHOST_GETOBJECT_DISPID
)]
164 [in, optional, defaultvalue("")] BSTR ProgID
,
165 [in, optional, defaultvalue("")] BSTR Prefix
,
166 [out, retval] IDispatch
**out_Dispatch
);
168 [id(IHOST_DISCONNECTOBJECT_DISPID
)]
169 HRESULT DisconnectObject
([in] IDispatch
*Object);
171 [id(IHOST_SLEEP_DISPID
)]
172 HRESULT Sleep
([in] LONG Time
);
174 [id(IHOST_CONNECTOBJECT_DISPID
)]
175 HRESULT ConnectObject
(
176 [in] IDispatch
*Object,
179 [id(IHOST_STDIN_DISPID
), propget]
180 HRESULT StdIn
([out, retval] ITextStream
**out_ppts
);
182 [id(IHOST_STDOUT_DISPID
), propget]
183 HRESULT StdOut
([out, retval] ITextStream
**ppts
);
185 [id(IHOST_STDERR_DISPID
), propget]
186 HRESULT StdErr
([out, retval] ITextStream
**ppts
);