mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
[CSCRIPT]
* Import from Wine 1.7.27. CORE-8770 #resolve #comment Imported in r65317. CORE-8540 svn path=/trunk/; revision=65319
This commit is contained in:
parent
c7de5a4234
commit
583ff26215
5 changed files with 231 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
|||
add_subdirectory(comp)
|
||||
add_subdirectory(cscript)
|
||||
add_subdirectory(dbgprint)
|
||||
add_subdirectory(doskey)
|
||||
add_subdirectory(find)
|
||||
|
|
21
reactos/base/applications/cmdutils/cscript/CMakeLists.txt
Normal file
21
reactos/base/applications/cmdutils/cscript/CMakeLists.txt
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
add_definitions(-DCSCRIPT_BUILD)
|
||||
set(wscript_folder ${REACTOS_SOURCE_DIR}/base/applications/cmdutils/wscript)
|
||||
include_directories(${wscript_folder})
|
||||
|
||||
list(APPEND SOURCE
|
||||
${wscript_folder}/arguments.c
|
||||
${wscript_folder}/host.c
|
||||
${wscript_folder}/main.c
|
||||
${wscript_folder}/wscript.h)
|
||||
|
||||
add_executable(cscript ${SOURCE} rsrc.rc)
|
||||
add_idl_headers(cscript_idlheader ihost.idl)
|
||||
add_typelib(ihost.idl)
|
||||
set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ihost.tlb)
|
||||
target_link_libraries(cscript uuid wine)
|
||||
set_module_type(cscript win32cui UNICODE)
|
||||
add_importlibs(cscript shell32 oleaut32 ole32 advapi32 msvcrt kernel32 ntdll)
|
||||
add_dependencies(cscript stdole2 cscript_idlheader)
|
||||
add_pch(cscript ${wscript_folder}/wscript.h SOURCE)
|
||||
add_cd_file(TARGET cscript DESTINATION reactos/system32 FOR all)
|
188
reactos/base/applications/cmdutils/cscript/ihost.idl
Normal file
188
reactos/base/applications/cmdutils/cscript/ihost.idl
Normal file
|
@ -0,0 +1,188 @@
|
|||
/*
|
||||
* 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);
|
||||
}
|
||||
}
|
20
reactos/base/applications/cmdutils/cscript/rsrc.rc
Normal file
20
reactos/base/applications/cmdutils/cscript/rsrc.rc
Normal file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/* @makedep: ihost.tlb */
|
||||
1 TYPELIB ihost.tlb
|
|
@ -234,6 +234,7 @@ reactos/dll/cpl/inetcpl # Synced to Wine-1.7.27
|
|||
|
||||
ReactOS shares the following programs with Winehq.
|
||||
|
||||
reactos/base/applications/cmdutils/cscript # Synced to Wine-1.7.27
|
||||
reactos/base/applications/cmdutils/reg # Synced to Wine-1.7.27
|
||||
reactos/base/applications/cmdutils/taskkill # Synced to Wine-1.7.27
|
||||
reactos/base/applications/cmdutils/wmic # Synced to Wine-1.7.27
|
||||
|
|
Loading…
Reference in a new issue