]> git.sesse.net Git - casparcg/blob - modules/silverlight/interop/xcpctrl.idl
2.0.0.2: Mayor solution reconfiguration.
[casparcg] / modules / silverlight / interop / xcpctrl.idl
1 //------------------------------------------------------------------------\r
2 //\r
3 //  Copyright (c) 2005  Microsoft Corporation\r
4 //\r
5 //  Abstract:\r
6 //\r
7 //      IDL file for activex control\r
8 //\r
9 //\r
10 //------------------------------------------------------------------------\r
11 //\r
12 \r
13 #include "olectl.h"\r
14 import "oaidl.idl";\r
15 import "ocidl.idl";\r
16 \r
17 [\r
18     object,\r
19     uuid(EE38D0F1-5AE3-408c-A6BF-8410E645F376),\r
20     dual,\r
21     nonextensible,\r
22     helpstring("IXcpObject Interface"),\r
23     pointer_default(unique)\r
24 ]\r
25 interface IXcpObject : IDispatch\r
26 {\r
27 };\r
28 \r
29 \r
30 [\r
31     object,\r
32     uuid(1FB839CC-116C-4C9B-AE8E-3DBB6496E326),\r
33     dual,\r
34     nonextensible,\r
35     helpstring("IXcpControl Interface"),\r
36     pointer_default(unique)\r
37 ]\r
38 interface IXcpControl : IDispatch\r
39 {\r
40     [propget, bindable, requestedit]\r
41     HRESULT Source([out, retval]  BSTR *pstr);\r
42     [propput, bindable, requestedit]\r
43     HRESULT Source([in] BSTR str);\r
44 \r
45     [propget, bindable, requestedit]\r
46     HRESULT IsLoaded([out, retval]  VARIANT_BOOL *pb);\r
47 \r
48 \r
49     [propget, bindable, requestedit]\r
50     HRESULT Content([out, retval]  IDispatch **ppContent);\r
51 \r
52     [propget, bindable, requestedit]\r
53     HRESULT Settings([out, retval]  IDispatch **ppSettings);\r
54 \r
55     [propget, bindable, requestedit]\r
56     HRESULT OnLoad([out, retval] VARIANT* pVAR);\r
57     [propput, bindable, requestedit]\r
58     HRESULT OnLoad([in] VARIANT* pVAR);\r
59 \r
60     [propget, bindable, requestedit]\r
61     HRESULT OnError([out, retval] VARIANT* pVAR);\r
62     [propput, bindable, requestedit]\r
63     HRESULT OnError([in] VARIANT* pVAR);\r
64 \r
65     HRESULT CreateObject([in] BSTR id, [out, retval] IXcpObject** ppDisp);\r
66 \r
67     HRESULT IsVersionSupported([in] BSTR v, [out, retval] VARIANT_BOOL *pb);\r
68 \r
69     [propget, bindable, requestedit]\r
70     HRESULT InitParams([out, retval] BSTR * initparams);\r
71     [propput, bindable, requestedit]\r
72     HRESULT InitParams([in] BSTR initparams);\r
73 };\r
74 \r
75 [\r
76     object,\r
77     uuid(1c3294f9-891f-49b1-bbae-492a68ba10cc),\r
78     dual,\r
79     nonextensible,\r
80     helpstring("IXcpControl2 Interface"),\r
81     pointer_default(unique)\r
82 ]\r
83 interface IXcpControl2 : IXcpControl\r
84 {\r
85     HRESULT LoadRuntime();\r
86 \r
87     [propget, bindable, requestedit]\r
88     HRESULT SplashScreenSource([out, retval]  BSTR *pstr);\r
89     [propput, bindable, requestedit]\r
90     HRESULT SplashScreenSource([in] BSTR str);\r
91 \r
92     [propget, bindable, requestedit]\r
93     HRESULT OnSourceDownloadComplete([out, retval] VARIANT* pVAR);\r
94     [propput, bindable, requestedit]\r
95     HRESULT OnSourceDownloadComplete([in] VARIANT* pVAR);\r
96 \r
97     [propget, bindable, requestedit]\r
98     HRESULT OnSourceDownloadProgressChanged([out, retval] VARIANT* pVAR);\r
99     [propput, bindable, requestedit]\r
100     HRESULT OnSourceDownloadProgressChanged([in] VARIANT* pVAR);\r
101 };\r
102 \r
103 [\r
104     object,\r
105     uuid(2E340632-5D5A-427b-AC31-303F6E32B9E8),\r
106     nonextensible,\r
107     helpstring("IXcpControlDownloadCallback Interface"),\r
108     pointer_default(unique)\r
109 ]\r
110 interface IXcpControlDownloadCallback : IUnknown\r
111 {\r
112     HRESULT OnUrlDownloaded(HRESULT hr, IStream* pStream);\r
113 };\r
114 \r
115 [\r
116     object,\r
117     uuid(1B36028E-B491-4bb2-8584-8A9E0A677D6E),\r
118     nonextensible,\r
119     helpstring("IXcpControlHost Interface"),\r
120     pointer_default(unique)\r
121 ]\r
122 interface IXcpControlHost : IUnknown\r
123 {\r
124     typedef enum\r
125     {\r
126         XcpHostOption_FreezeOnInitialFrame         = 0x001,\r
127         XcpHostOption_DisableFullScreen            = 0x002,\r
128         XcpHostOption_DisableManagedExecution      = 0x008,\r
129         XcpHostOption_EnableCrossDomainDownloads   = 0x010,\r
130         XcpHostOption_UseCustomAppDomain           = 0x020,\r
131         XcpHostOption_DisableNetworking            = 0x040,        \r
132         XcpHostOption_DisableScriptCallouts        = 0x080,\r
133         XcpHostOption_EnableHtmlDomAccess          = 0x100,\r
134         XcpHostOption_EnableScriptableObjectAccess = 0x200,\r
135         // Skipping a number so as not to conflict with mobile.\r
136         XcpHostOption_EnableAssemblySharing        = 0x800,\r
137         XcpHostOption_HookGetComAutomationObject   = 0x1000,\r
138         XcpHostOption_EnableElevatedPermissions    = 0x2000,\r
139         XcpHostOption_EnableWindowlessAccessibility = 0x4000,\r
140     } XcpHostOptions;\r
141 \r
142     HRESULT GetHostOptions([out, retval] DWORD* pdwOptions);\r
143 \r
144     HRESULT NotifyLoaded();\r
145 \r
146     HRESULT NotifyError([in] BSTR bstrError, [in] BSTR bstrSource, [in] long nLine, [in] long nColumn);\r
147 \r
148     HRESULT InvokeHandler([in] BSTR bstrName, [in] VARIANT varArg1, [in] VARIANT varArg2, [out, retval] VARIANT* pvarResult);\r
149 \r
150     HRESULT GetBaseUrl([out, retval] BSTR* pbstrUrl);\r
151 \r
152     HRESULT GetNamedSource([in] BSTR bstrSourceName, [out, retval] BSTR* pbstrSource);\r
153 \r
154     //\r
155     // Called by Silverlight to allow a host to provide content for a specified URI. This is useful in cases\r
156     // where a resource would normally be loaded out of a XAP at runtime. At design time, no XAP exists, and\r
157     // the host can provide content for that resource.\r
158     //\r
159     // This method can work synchronously or asynchronously. If the pCallback parameter is NULL, the host must\r
160     // do the work synchronously and return the result in ppStream. If the pCallback parameter is non-NULL, the host\r
161     // may do the work synchronously or asynchronously, invoking callback methods as defined by the \r
162     // IXcpControlDownloadCallback interface. If the host chooses to work asyncronously, the ppStream parameter is\r
163     // ignored.\r
164     //\r
165     // The host should return S_FALSE if it cannot provide a resource for the requested URI, and S_OK on a\r
166     // successful request.\r
167     //\r
168     HRESULT DownloadUrl([in] BSTR bstrUrl, [in] IXcpControlDownloadCallback* pCallback, [out, retval] IStream** ppStream);\r
169 \r
170 };\r
171 \r
172 [\r
173     object,\r
174     uuid(fb3ed7c4-5797-4b44-8695-0c512ea27d8f),\r
175     nonextensible,\r
176     helpstring("IXcpControlHost2 Interface"),\r
177     pointer_default(unique)\r
178 ]\r
179 interface IXcpControlHost2 : IXcpControlHost\r
180 {\r
181     HRESULT GetCustomAppDomain([out, retval] IUnknown** ppAppDomain);\r
182 \r
183     HRESULT GetControlVersion([out] UINT *puMajorVersion, [out] UINT *puMinorVersion);\r
184 };\r
185 \r
186 [\r
187     object,\r
188     uuid(9fb2ce5f-06ff-4058-befa-ddfab596b3d5),\r
189     nonextensible,\r
190     helpstring("IXcpControlHost3 Interface"),\r
191     pointer_default(unique)\r
192 ]\r
193 interface IXcpControlHost3 : IXcpControlHost2\r
194 {\r
195     HRESULT GetDefaultThemeXaml([in] BSTR assemblyName, [out, retval] LPBSTR pbstrXaml);\r
196     \r
197     HRESULT GetDefaultPortableUserInterfaceFontInfo([out, retval] LPBSTR pbstrCompositeFont);\r
198 \r
199     typedef enum\r
200     {\r
201         XcpHost_GetComAutomationObjectFlag_Get    = 0x1,\r
202         XcpHost_GetComAutomationObjectFlag_Create = 0x2\r
203     } XcpHost_GetComAutomationObjectFlags;\r
204 \r
205     HRESULT GetComAutomationObject([in] BSTR bstrProgId, [in] DWORD dwFlags, [out, retval] IDispatch** ppDisp);\r
206 };\r
207 \r
208 [\r
209     uuid(283C8576-0726-4DBC-9609-3F855162009A),\r
210     version(4.0),\r
211     helpstring("AgControl 4.0 Type Library"),\r
212     control\r
213 ]\r
214 library XcpControlLib\r
215 {\r
216     importlib("stdole2.tlb");\r
217     [\r
218         uuid(DFEAF541-F3E1-4c24-ACAC-99C30715084A),\r
219         helpstring("AgControl Class")\r
220     ]\r
221     coclass XcpControl\r
222     {\r
223         [default] interface IXcpControl2;\r
224         interface IXcpControl;\r
225     };\r
226 };\r