-
Notifications
You must be signed in to change notification settings - Fork 1
/
RScript.idl
121 lines (113 loc) · 3.67 KB
/
RScript.idl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
* Copyright(c) 2000, 2009 arton
*
* You may distribute under the terms of either the GNU General Public
* License
*
* $Date: 2006-11-15 12:49:36 +0900 (水, 15 11 2006) $
*/
import "oaidl.idl";
import "ocidl.idl";
import "activscp.idl";
[
object,
uuid(1AEE0BE2-04AC-11d4-8EA8-0000F45A3C05),
pointer_default(unique)
]
interface IRubyEngine : IUnknown
{
HRESULT CreateObject([in]CLSID clsid, [in, string]LPCWSTR pszHost, [in]REFIID riid, [out]IUnknown** ppv);
HRESULT CheckInterfaceIsSafety([in]CLSID clsid, [in]IUnknown* pUnk);
HRESULT CheckActiveXIsSafety([in]CLSID clsid);
HRESULT EnterScript();
HRESULT LeaveScript();
HRESULT OnScriptError([in]IActiveScriptError* pError);
HRESULT RegisterServiceProvider([in]IServiceProvider* pProvider);
HRESULT UnregisterServiceProvider();
HRESULT GetSecurityLevel([out, retval]long* pResult);
HRESULT ClearModuleObject();
HRESULT SetRubyize([in]boolean f);
HRESULT GetRubyize();
HRESULT GetModule([out, retval]unsigned long* pResult);
HRESULT DisconnectObjects();
HRESULT DefineGlobalObject();
};
[
object,
uuid(66D56EE1-0249-11D4-8EA4-0000F45A3C05),
helpstring("IRubyWrapper Interface"),
pointer_default(unique)
]
interface IRubyWrapper : IUnknown
{
HRESULT rb_intern([in, string]char* name, [out]unsigned long* pid);
HRESULT rb_module_new([in]unsigned long parent, [out]unsigned long* p);
HRESULT SearchMethod([in]unsigned long val, [in, string]char* pName, [out]DISPID* pDispID);
HRESULT rb_invoke([in]IRubyEngine* pengine, [in]unsigned long Module, [in]unsigned long func, [in]DISPPARAMS* pDispParams, [in, out, unique]VARIANT* pVarResult, [out]IActiveScriptError** ppError);
HRESULT SearchClass([in, string]char* pName, [out]unsigned long* pval);
HRESULT rb_funcall_with_string2([in]IRubyEngine* pengine, [in]unsigned long val, [in]unsigned long id, [in]long line, [in]long cb, [in, size_is(cb)]char* p, [in]boolean TraceRequired, [out]VARIANT* pVarResult, [out]IActiveScriptError** ppError);
HRESULT RegisterObject([in, string]char* pName, [in]unsigned long Module);
HRESULT UnregisterObject([in, string]char* pName, [in]unsigned long Module);
HRESULT Disconnect([in]IRubyEngine* pengin);
HRESULT DefineGlobalObject([in]IRubyEngine* pengine);
HRESULT DefineConstant([in, string]char* pName, [in]unsigned long Module, [in]VARIANT* pVar, [in]IRubyEngine* pengine);
};
[
uuid(2369F037-7118-4b5f-890E-2A8DD6BB10AE),
version(1.9),
helpstring("RScript 1.9")
]
library RSCRIPTLib
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
[
object,
uuid(5DBEF577-E278-11D3-8E7A-0000F45A3C05),
dual,
helpstring("IRubyScript Interface"),
pointer_default(unique)
]
interface IRubyScript : IDispatch
{
};
[
object,
uuid(0A4CBEBD-C46B-4A7C-A1E2-AD474C330C7A),
dual,
helpstring("rubyize other scripting object"),
pointer_default(unique)
]
interface IRubyize : IDispatch
{
[id(1), propget] HRESULT Version([out, retval]BSTR* pVersion);
[id(2), propget] HRESULT RubyVersion([out, retval]BSTR* pVersion);
[id(10)] HRESULT rubyize([in]VARIANT val, [out, retval]VARIANT* pObj);
[id(11)] HRESULT erubyize([in]BSTR script, [out, retval]VARIANT* pObj);
};
[
uuid(067BEC55-61A2-4cb3-A029-3BC4E18469CE),
helpstring("RubyScript Language (module)")
]
coclass RubyScript
{
[default] interface IActiveScript;
};
[
uuid(38DBE621-054C-4a2e-A993-2B05CECFCB71),
helpstring("RubyWrapper Class"),
noncreatable
]
coclass RubyWrapper
{
[default] interface IRubyWrapper;
};
[
uuid(6CB14BDE-8273-4551-810D-9809AD559228),
helpstring("Rubyize Class")
]
coclass Rubyize
{
[default] interface IRubyize;
};
};