1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielskiimport "oaidl.idl";
23*b1cdbd2cSJim Jagielskiimport "ocidl.idl";
24*b1cdbd2cSJim Jagielski
25*b1cdbd2cSJim Jagielskiimport "ia2_api_all.idl";
26*b1cdbd2cSJim Jagielskiimport "defines.idl";
27*b1cdbd2cSJim Jagielski
28*b1cdbd2cSJim Jagielski	[
29*b1cdbd2cSJim Jagielski		object,
30*b1cdbd2cSJim Jagielski		uuid(D00F5EB7-588A-487F-A6F6-0B5D7D1815AA),
31*b1cdbd2cSJim Jagielski		dual,
32*b1cdbd2cSJim Jagielski		helpstring("IMAccessible Interface"),
33*b1cdbd2cSJim Jagielski		pointer_default(unique)
34*b1cdbd2cSJim Jagielski	]
35*b1cdbd2cSJim Jagielski	interface IMAccessible : IAccessible2
36*b1cdbd2cSJim Jagielski	{
37*b1cdbd2cSJim Jagielski		[id(1), helpstring("method Put_XAccName")] HRESULT Put_XAccName(const OLECHAR* pszName);
38*b1cdbd2cSJim Jagielski		[id(2), helpstring("method Put_XAccRole")] HRESULT Put_XAccRole(unsigned short pRole);
39*b1cdbd2cSJim Jagielski		[id(3), helpstring("method DecreaseState")] HRESULT DecreaseState(DWORD pXSate);
40*b1cdbd2cSJim Jagielski		[id(4), helpstring("method IncreaseState")] HRESULT IncreaseState(DWORD pXSate);
41*b1cdbd2cSJim Jagielski		[id(5), helpstring("method Put_XDescription")] HRESULT Put_XAccDescription(const OLECHAR* pszDescription);
42*b1cdbd2cSJim Jagielski		[id(6), helpstring("method Put_XAccValue")] HRESULT Put_XAccValue(const OLECHAR* pszAccValue);
43*b1cdbd2cSJim Jagielski		[id(7), helpstring("method SetState")] HRESULT SetState(DWORD pXSate);
44*b1cdbd2cSJim Jagielski		[id(8), helpstring("method Put_XAccLocation")] HRESULT Put_XAccLocation(const Location sLocation);
45*b1cdbd2cSJim Jagielski		[id(9), helpstring("method Put_XAccFocus")] HRESULT Put_XAccFocus(long dChildID);
46*b1cdbd2cSJim Jagielski		[id(10), helpstring("method Put_XAccParent")] HRESULT Put_XAccParent(IMAccessible* pIParent);
47*b1cdbd2cSJim Jagielski		[id(13), helpstring("method Put_XAccWindowHandle")] HRESULT Put_XAccWindowHandle(HWND hwnd);
48*b1cdbd2cSJim Jagielski		[id(14), helpstring("method Put_XAccChildID")] HRESULT Put_XAccChildID(long dChildID);
49*b1cdbd2cSJim Jagielski		[id(19), helpstring("method SetXAccessible")] HRESULT SetXAccessible( long XAccessible);
50*b1cdbd2cSJim Jagielski		[id(20), helpstring("method GetUNOInterface")] HRESULT GetUNOInterface(long* UNOInterface);
51*b1cdbd2cSJim Jagielski		[id(23), helpstring("method SetDefaultAction")] HRESULT SetDefaultAction(long pAction);
52*b1cdbd2cSJim Jagielski		[id(24), helpstring("method Put_ActionDescription")] HRESULT Put_ActionDescription( const OLECHAR* szAction);
53*b1cdbd2cSJim Jagielski		[id(25), helpstring("method Put_XAccAgent")] HRESULT Put_XAccAgent(long pAgent);
54*b1cdbd2cSJim Jagielski		[id(26), helpstring("method NotifyDestroy")] HRESULT NotifyDestroy(BOOL isDestroy);
55*b1cdbd2cSJim Jagielski		[id(30), helpstring("method Get_XAccChildID")] HRESULT Get_XAccChildID([out,retval] long* childID);
56*b1cdbd2cSJim Jagielski	};
57*b1cdbd2cSJim Jagielski	[
58*b1cdbd2cSJim Jagielski		object,
59*b1cdbd2cSJim Jagielski		uuid(951299EE-1841-4249-9E07-812C0739E489),
60*b1cdbd2cSJim Jagielski		dual,
61*b1cdbd2cSJim Jagielski		helpstring("IEnumVariant Interface"),
62*b1cdbd2cSJim Jagielski		pointer_default(unique)
63*b1cdbd2cSJim Jagielski	]
64*b1cdbd2cSJim Jagielski	interface IEnumVariant : IEnumVARIANT
65*b1cdbd2cSJim Jagielski	{
66*b1cdbd2cSJim Jagielski		[id(1), helpstring("method ClearEnumeration")] HRESULT ClearEnumeration();
67*b1cdbd2cSJim Jagielski		[id(2), helpstring("method PutSelection")] HRESULT PutSelection(long pXSeletion);
68*b1cdbd2cSJim Jagielski	};
69*b1cdbd2cSJim Jagielski	[
70*b1cdbd2cSJim Jagielski		object,
71*b1cdbd2cSJim Jagielski		uuid(6641185C-E099-4C45-B753-3FBC0EE40646),
72*b1cdbd2cSJim Jagielski		dual,
73*b1cdbd2cSJim Jagielski		helpstring("IUNOXWrapper Interface"),
74*b1cdbd2cSJim Jagielski		pointer_default(unique)
75*b1cdbd2cSJim Jagielski	]
76*b1cdbd2cSJim Jagielski	interface IUNOXWrapper : IUnknown
77*b1cdbd2cSJim Jagielski	{
78*b1cdbd2cSJim Jagielski		[id(1), helpstring("method put_XInterface")] HRESULT put_XInterface(long pXInterface);
79*b1cdbd2cSJim Jagielski		[id(2), helpstring("method put_XSubInterface")] HRESULT put_XSubInterface(long pXSubInterface);
80*b1cdbd2cSJim Jagielski		[id(3), helpstring("method get_XInterface")] HRESULT get_XInterface([out,retval]long* pXInterface);
81*b1cdbd2cSJim Jagielski		[id(4), helpstring("method get_XSubInterface")] HRESULT get_XSubInterface([out,retval]long* pXSubInterface);
82*b1cdbd2cSJim Jagielski	};
83*b1cdbd2cSJim Jagielski
84*b1cdbd2cSJim Jagielski[
85*b1cdbd2cSJim Jagielski	uuid(19ECB1B0-9376-4FF9-B580-223FC9C200B8),
86*b1cdbd2cSJim Jagielski	version(1.0),
87*b1cdbd2cSJim Jagielski	helpstring("UAccCOM 1.0 Type Library")
88*b1cdbd2cSJim Jagielski]
89*b1cdbd2cSJim Jagielskilibrary UACCCOMLib
90*b1cdbd2cSJim Jagielski{
91*b1cdbd2cSJim Jagielski	importlib("stdole32.tlb");
92*b1cdbd2cSJim Jagielski	importlib("stdole2.tlb");
93*b1cdbd2cSJim Jagielski	importlib("oleacc.dll");
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski	[
96*b1cdbd2cSJim Jagielski		uuid(CF8DF8BA-44FE-4B10-BD2E-8C8CB322485F),
97*b1cdbd2cSJim Jagielski		helpstring("MAccessible Class")
98*b1cdbd2cSJim Jagielski	]
99*b1cdbd2cSJim Jagielski	coclass MAccessible
100*b1cdbd2cSJim Jagielski	{
101*b1cdbd2cSJim Jagielski		[default] interface IMAccessible;
102*b1cdbd2cSJim Jagielski	};
103*b1cdbd2cSJim Jagielski	[
104*b1cdbd2cSJim Jagielski		uuid(152884E0-268B-4481-9AE7-1B372D3AA97F),
105*b1cdbd2cSJim Jagielski		helpstring("EnumVariant Class")
106*b1cdbd2cSJim Jagielski	]
107*b1cdbd2cSJim Jagielski	coclass EnumVariant
108*b1cdbd2cSJim Jagielski	{
109*b1cdbd2cSJim Jagielski		[default] interface IEnumVariant;
110*b1cdbd2cSJim Jagielski	};
111*b1cdbd2cSJim Jagielski	[
112*b1cdbd2cSJim Jagielski		uuid(AA360FB0-BC98-41C1-A885-BB921F5ED601),
113*b1cdbd2cSJim Jagielski		helpstring("UNOXWrapper Class")
114*b1cdbd2cSJim Jagielski	]
115*b1cdbd2cSJim Jagielski	coclass UNOXWrapper
116*b1cdbd2cSJim Jagielski	{
117*b1cdbd2cSJim Jagielski		[default] interface IUNOXWrapper;
118*b1cdbd2cSJim Jagielski	};
119*b1cdbd2cSJim Jagielski
120*b1cdbd2cSJim Jagielski	[
121*b1cdbd2cSJim Jagielski		uuid(9FD9BA47-70AF-4160-99F1-526F2B9F111B),
122*b1cdbd2cSJim Jagielski		helpstring("AccComponent Class")
123*b1cdbd2cSJim Jagielski	]
124*b1cdbd2cSJim Jagielski	coclass AccComponent
125*b1cdbd2cSJim Jagielski	{
126*b1cdbd2cSJim Jagielski		[default] interface IAccessibleComponent;
127*b1cdbd2cSJim Jagielski	};
128*b1cdbd2cSJim Jagielski
129*b1cdbd2cSJim Jagielski    [
130*b1cdbd2cSJim Jagielski		uuid(8745CF0C-3104-4BAE-B7D0-D7B1717C006E),
131*b1cdbd2cSJim Jagielski		helpstring("AccRelation Class")
132*b1cdbd2cSJim Jagielski	]
133*b1cdbd2cSJim Jagielski	coclass AccRelation
134*b1cdbd2cSJim Jagielski	{
135*b1cdbd2cSJim Jagielski		[default] interface IAccessibleRelation;
136*b1cdbd2cSJim Jagielski	};
137*b1cdbd2cSJim Jagielski	[
138*b1cdbd2cSJim Jagielski		uuid(AA49F20E-BB4E-400D-A5B0-6F5B7B770227),
139*b1cdbd2cSJim Jagielski		helpstring("AccAction Class")
140*b1cdbd2cSJim Jagielski	]
141*b1cdbd2cSJim Jagielski	coclass AccAction
142*b1cdbd2cSJim Jagielski	{
143*b1cdbd2cSJim Jagielski		[default] interface IAccessibleAction;
144*b1cdbd2cSJim Jagielski	};
145*b1cdbd2cSJim Jagielski
146*b1cdbd2cSJim Jagielski	[
147*b1cdbd2cSJim Jagielski		uuid(6D8AB08B-CCE9-471E-8A41-35773D5263F5),
148*b1cdbd2cSJim Jagielski		helpstring("AccText Class")
149*b1cdbd2cSJim Jagielski	]
150*b1cdbd2cSJim Jagielski	coclass AccText
151*b1cdbd2cSJim Jagielski	{
152*b1cdbd2cSJim Jagielski		[default] interface IAccessibleText;
153*b1cdbd2cSJim Jagielski	};
154*b1cdbd2cSJim Jagielski
155*b1cdbd2cSJim Jagielski	[
156*b1cdbd2cSJim Jagielski		uuid(79CE1450-1F61-48E2-BF76-C07BD10105E2),
157*b1cdbd2cSJim Jagielski		helpstring("AccEditableText Class")
158*b1cdbd2cSJim Jagielski	]
159*b1cdbd2cSJim Jagielski	coclass AccEditableText
160*b1cdbd2cSJim Jagielski	{
161*b1cdbd2cSJim Jagielski		[default] interface IAccessibleEditableText;
162*b1cdbd2cSJim Jagielski	};
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim Jagielski	[
165*b1cdbd2cSJim Jagielski		uuid(CC55D71B-1828-4EE0-89E2-C3749CF9C9AB),
166*b1cdbd2cSJim Jagielski		helpstring("AccHypertext Class")
167*b1cdbd2cSJim Jagielski	]
168*b1cdbd2cSJim Jagielski	coclass AccHypertext
169*b1cdbd2cSJim Jagielski	{
170*b1cdbd2cSJim Jagielski		[default] interface IAccessibletext;
171*b1cdbd2cSJim Jagielski	};
172*b1cdbd2cSJim Jagielski
173*b1cdbd2cSJim Jagielski
174*b1cdbd2cSJim Jagielski	[
175*b1cdbd2cSJim Jagielski		uuid(73A45800-7A62-432C-A1A6-BF8852994331),
176*b1cdbd2cSJim Jagielski		helpstring("AccImage Class")
177*b1cdbd2cSJim Jagielski	]
178*b1cdbd2cSJim Jagielski	coclass AccImage
179*b1cdbd2cSJim Jagielski	{
180*b1cdbd2cSJim Jagielski		[default] interface IAccessibleImage;
181*b1cdbd2cSJim Jagielski	};
182*b1cdbd2cSJim Jagielski
183*b1cdbd2cSJim Jagielski	[
184*b1cdbd2cSJim Jagielski		uuid(730A561B-1AF6-49E1-9C04-9A2F48CD8512),
185*b1cdbd2cSJim Jagielski		helpstring("AccValue Class")
186*b1cdbd2cSJim Jagielski	]
187*b1cdbd2cSJim Jagielski	coclass AccValue
188*b1cdbd2cSJim Jagielski	{
189*b1cdbd2cSJim Jagielski		[default] interface IAccessibleValue;
190*b1cdbd2cSJim Jagielski	};
191*b1cdbd2cSJim Jagielski	[
192*b1cdbd2cSJim Jagielski		uuid(92BAA62D-535A-4EAB-9ABB-BFA60B7A6DB6),
193*b1cdbd2cSJim Jagielski		helpstring("AccTable Class")
194*b1cdbd2cSJim Jagielski	]
195*b1cdbd2cSJim Jagielski	coclass AccTable
196*b1cdbd2cSJim Jagielski	{
197*b1cdbd2cSJim Jagielski		[default] interface IAccessibleTable;
198*b1cdbd2cSJim Jagielski	};
199*b1cdbd2cSJim Jagielski
200*b1cdbd2cSJim Jagielski	[
201*b1cdbd2cSJim Jagielski		uuid(519A64CD-F6A6-4793-BE50-4E36C4C593EF),
202*b1cdbd2cSJim Jagielski		helpstring("AccHyperLink Class")
203*b1cdbd2cSJim Jagielski	]
204*b1cdbd2cSJim Jagielski	coclass AccHyperLink
205*b1cdbd2cSJim Jagielski	{
206*b1cdbd2cSJim Jagielski		[default] interface IAccessibleAction;
207*b1cdbd2cSJim Jagielski	};
208*b1cdbd2cSJim Jagielski
209*b1cdbd2cSJim Jagielski};
210