notepad: Update Portuguese (Brazilian) translation.
[wine] / include / gameux.idl
1  /*
2  *      Defines the COM interfaces of Game Explorer
3  *
4  * Copyright (C) 2008 Alistair Leslie-Hughes
5  * Copyright (C) 2010 Mariusz PluciƄski
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21
22 import "oaidl.idl";
23 import "ocidl.idl";
24 import "shobjidl.idl";
25
26 [
27   uuid(1DE6CE3D-EA69-4671-941F-26F789F39C5B),
28   version(1.0),
29   helpstring("gameux public 1.0 Type Library")
30 ]
31 library gameuxLib
32 {
33     importlib("stdole2.tlb");
34
35     typedef enum
36     {
37         GIS_NOT_INSTALLED  = 1,
38         GIS_CURRENT_USER   = 2,
39         GIS_ALL_USERS      = 3
40     } GAME_INSTALL_SCOPE;
41
42     typedef enum
43     {
44         GAMESTATS_OPEN_OPENORCREATE = 0,
45         GAMESTATS_OPEN_OPENONLY = 1
46     } GAMESTATS_OPEN_TYPE;
47
48     typedef enum
49     {
50         GAMESTATS_OPEN_CREATED = 0,
51         GAMESTATS_OPEN_OPENED = 1
52     } GAMESTATS_OPEN_RESULT;
53
54     [
55       object,
56       uuid(E7B2FB72-D728-49B3-A5F2-18EBF5F1349E)
57     ]
58     interface IGameExplorer : IUnknown
59     {
60         HRESULT AddGame([in] BSTR sGDFBinaryPath,
61                     [in] BSTR sInstallDirectory,
62                     [in] GAME_INSTALL_SCOPE installScope,
63                     [in, out] GUID* pguidInstanceID);
64
65         HRESULT RemoveGame([in] GUID instanceID);
66
67         HRESULT UpdateGame([in] GUID instanceID);
68
69         HRESULT VerifyAccess([in] BSTR sGDFBinaryPath,
70                     [out] BOOL* pHasAccess);
71     };
72
73     [
74       object,
75       uuid(3887C9CA-04A0-42ae-BC4C-5FA6C7721145)
76     ]
77     interface IGameStatistics : IUnknown
78     {
79         HRESULT GetMaxCategoryLength(
80                     [retval, out] UINT* cch);
81
82         HRESULT GetMaxNameLength(
83                     [retval, out] UINT* cch);
84
85         HRESULT GetMaxValueLength(
86                     [retval, out] UINT* cch);
87
88         HRESULT GetMaxCategories(
89                     [retval, out] WORD* pMax);
90
91         HRESULT GetMaxStatsPerCategory(
92                     [retval, out] WORD* pMax);
93
94         HRESULT SetCategoryTitle(
95                     [in] WORD categoryIndex,
96                     [string, in] LPCWSTR title);
97
98         HRESULT GetCategoryTitle(
99                     [in] WORD categoryIndex,
100                     [retval, string, out] LPWSTR* pTitle);
101
102         HRESULT GetStatistic(
103                     [in] WORD categoryIndex,
104                     [in] WORD statIndex,
105                     [string, unique, out, in] LPWSTR* pName,
106                     [string, unique, out, in] LPWSTR* pValue);
107
108         HRESULT SetStatistic(
109                     [in] WORD categoryIndex,
110                     [in] WORD statIndex,
111                     [string, in] LPCWSTR name,
112                     [string, in] LPCWSTR value);
113
114         HRESULT Save(
115                     [in] BOOL trackChanges);
116
117         HRESULT SetLastPlayedCategory(
118                     [in] UINT categoryIndex);
119
120         HRESULT GetLastPlayedCategory(
121                     [retval, out] UINT* pCategoryIndex);
122     };
123
124     [
125       object,
126       uuid(AFF3EA11-E70E-407d-95DD-35E612C41CE2)
127     ]
128     interface IGameStatisticsMgr : IUnknown
129     {
130         HRESULT GetGameStatistics(
131                     [string, in] LPCWSTR GDFBinaryPath,
132                     [in] GAMESTATS_OPEN_TYPE openType,
133                     [out] GAMESTATS_OPEN_RESULT* pOpenResult,
134                     [retval, out] IGameStatistics** ppiStats);
135
136         HRESULT RemoveGameStatistics(
137                     [string, in] LPCWSTR GDFBinaryPath);
138     };
139
140     [
141       object,
142       uuid(86874AA7-A1ED-450d-A7EB-B89E20B2FFF3)
143     ]
144     interface IGameExplorer2 : IUnknown
145     {
146        HRESULT InstallGame(
147                     [string, in] LPCWSTR binaryGDFPath,
148                     [unique, in] LPCWSTR installDirectory,
149                     [in] GAME_INSTALL_SCOPE installScope);
150
151         HRESULT UninstallGame(
152                     [string, in] LPCWSTR binaryGDFPath);
153
154         HRESULT CheckAccess(
155                     [string, in] LPCWSTR binaryGDFPath,
156                     [retval, out] BOOL* pHasAccess);
157
158     }
159
160     [
161       uuid(9A5EA990-3034-4D6F-9128-01F3C61022BC)
162     ]
163     coclass GameExplorer
164     {
165         [default] interface IGameExplorer;
166     };
167
168     [
169       uuid(DBC85A2C-C0DC-4961-B6E2-D28B62C11AD4)
170     ]
171     coclass GameStatistics
172     {
173         [default] interface IGameStatistics;
174     };
175 }