OSDN Git Service

2010-01-26 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
[pf3gnuchains/sourceware.git] / winsup / w32api / include / shldisp.h
1 #ifndef _SHLDISP_H
2 #define _SHLDISP_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 typedef enum tagAUTOCOMPLETEOPTIONS {
12     ACO_NONE = 0x00,
13     ACO_AUTOSUGGEST = 0x01,
14     ACO_AUTOAPPEND = 0x02,
15     ACO_SEARCH = 0x04,
16     ACO_FILTERPREFIXES = 0x08,
17     ACO_USETAB = 0x10,
18     ACO_UPDOWNKEYDROPSLIST = 0x20,
19     ACO_RTLREADING = 0x40,
20     ACO_WORD_FILTER = 0x80,
21     ACO_NOPREFIXFILTERING = 0x100
22 } AUTOCOMPLETEOPTIONS;
23
24 #define INTERFACE IAutoComplete
25 DECLARE_INTERFACE_(IAutoComplete, IUnknown)
26 {
27         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
28         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
29         STDMETHOD_(ULONG,Release)(THIS) PURE;
30         STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
31         STDMETHOD(Enable)(THIS_ BOOL) PURE;
32 };
33 #undef INTERFACE
34 typedef IAutoComplete *LPAUTOCOMPLETE;
35
36 #ifdef COBJMACROS
37 #define IAutoComplete_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
38 #define IAutoComplete_AddRef(T) (T)->lpVtbl->AddRef(T)
39 #define IAutoComplete_Release(T) (T)->lpVtbl->Release(T)
40 #define IAutoComplete_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
41 #define IAutoComplete_Enable(T,a) (T)->lpVtbl->Enable(T,a)
42 #endif
43
44 #define INTERFACE IAutoComplete2
45 DECLARE_INTERFACE_(IAutoComplete2, IAutoComplete)
46 {
47         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
48         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
49         STDMETHOD_(ULONG,Release)(THIS) PURE;
50         STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
51         STDMETHOD(Enable)(THIS_ BOOL) PURE;
52         STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
53         STDMETHOD(GetOptions)(THIS_ DWORD*) PURE;
54 };
55 #undef INTERFACE
56 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
57
58 #ifdef COBJMACROS
59 #define IAutoComplete2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
60 #define IAutoComplete2_AddRef(T) (T)->lpVtbl->AddRef(T)
61 #define IAutoComplete2_Release(T) (T)->lpVtbl->Release(T)
62 #define IAutoComplete2_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
63 #define IAutoComplete2_Enable(T,a) (T)->lpVtbl->Enable(T,a)
64 #define IAutoComplete2_SetOptions(T,a) (T)->lpVtbl->Enable(T,a)
65 #define IAutoComplete2_GetOptions(T,a) (T)->lpVtbl->Enable(T,a)
66 #endif
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif /* _SHLDISP_H */