mcicda: Exclude unused headers.
[wine] / dlls / msi / msiserver.idl
1 /*
2  * Copyright (C) 2007 Mike McCormack
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include "msiserver_dispids.h"
20 import "unknwn.idl";
21 import "wtypes.idl";
22 import "objidl.idl";
23 import "oaidl.idl";
24
25 [ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ]
26 library WindowsInstaller
27 {
28     dispinterface Installer;
29     dispinterface Record;
30     dispinterface Session;
31     dispinterface Database;
32     dispinterface SummaryInfo;
33     dispinterface View;
34     dispinterface UIPreview;
35     dispinterface FeatureInfo;
36     dispinterface RecordList;
37     dispinterface StringList;
38     dispinterface Product;
39     dispinterface Patch;
40
41     typedef enum {
42         msiInstallStateNotUsed = -7,
43         msiInstallStateBadConfig = -6,
44         msiInstallStateIncomplete = -5,
45         msiInstallStateSourceAbsent = -4,
46         msiInstallStateInvalidArg = -2,
47         msiInstallStateUnknown = -1,
48         msiInstallStateBroken = 0,
49         msiInstallStateAdvertised = 1,
50         msiInstallStateRemoved = 1,
51         msiInstallStateAbsent = 2,
52         msiInstallStateLocal = 3,
53         msiInstallStateSource = 4,
54         msiInstallStateDefault = 5
55     } MsiInstallState;
56
57     [ uuid(000C1090-0000-0000-C000-000000000046) ]
58     dispinterface Installer
59     {
60     properties:
61     methods:
62         [id(DISPID_INSTALLER_OPENPACKAGE)]
63             Session* OpenPackage(
64                 [in] VARIANT PackagePath,
65                 [in, optional, defaultvalue(0)] long Options);
66         [id(DISPID_INSTALLER_PRODUCTSTATE), propget]
67             MsiInstallState ProductState(
68                 [in] BSTR Product);
69         [id(DISPID_INSTALLER_PRODUCTS), propget]
70             StringList *Products();
71     }
72
73     [ uuid(000C1093-0000-0000-C000-000000000046) ]
74     dispinterface Record
75     {
76     properties:
77     methods:
78         [id(DISPID_RECORD_STRINGDATA), propget]
79             BSTR StringData([in] long Field);
80         [id(DISPID_RECORD_STRINGDATA), propput]
81             void StringData(
82                 [in] long Field,
83                 [in] BSTR rhs);
84     }
85
86     [ uuid(000C1095-0000-0000-C000-000000000046) ]
87     dispinterface StringList
88     {
89         properties:
90         methods:
91         [id(DISPID_STRINGLIST_ITEM), propget]
92             BSTR Item(long Index);
93         [id(DISPID_STRINGLIST_COUNT), propget]
94             long Count();
95     }
96
97     [ uuid(000C1096-0000-0000-C000-000000000046) ]
98     dispinterface RecordList
99     {
100         properties:
101         methods:
102     }
103
104     [ uuid(000C109A-0000-0000-C000-000000000046) ]
105     dispinterface UIPreview
106     {
107         properties:
108         methods:
109     }
110
111     [ uuid(000C109B-0000-0000-C000-000000000046) ]
112     dispinterface SummaryInfo
113     {
114         properties:
115         methods:
116     }
117
118     [ uuid(000C109C-0000-0000-C000-000000000046) ]
119     dispinterface View
120     {
121         properties:
122         methods:
123         [id(DISPID_VIEW_EXECUTE)]
124             void Execute([in, optional, defaultvalue(0)] Record *Params);
125         [id(DISPID_VIEW_FETCH)]
126             Record* Fetch();
127         [id(DISPID_VIEW_CLOSE)]
128             void Close();
129     }
130
131     [ uuid(000C109D-0000-0000-C000-000000000046) ]
132     dispinterface Database
133     {
134         properties:
135         methods:
136         [id(DISPID_DATABASE_OPENVIEW)]
137             View* OpenView([in] BSTR Sql);
138     }
139
140     typedef enum {
141         msiDoActionStatusNoAction = 0,
142         msiDoActionStatusSuccess = 1,
143         msiDoActionStatusUserExit = 2,
144         msiDoActionStatusFailure = 3,
145         msiDoActionStatusSuspend = 4,
146         msiDoActionStatusFinished = 5,
147         msiDoActionStatusWrongState = 6,
148         msiDoActionStatusBadActionData = 7
149     } MsiDoActionStatus;
150
151     typedef enum {
152         msiRunModeAdmin = 0,
153         msiRunModeAdvertise = 1,
154         msiRunModeMaintenance = 2,
155         msiRunModeRollbackEnabled = 3,
156         msiRunModeLogEnabled = 4,
157         msiRunModeOperations = 5,
158         msiRunModeRebootAtEnd = 6,
159         msiRunModeRebootNow = 7,
160         msiRunModeCabinet = 8,
161         msiRunModeSourceShortNames = 9,
162         msiRunModeTargetShortNames = 10,
163         msiRunModeWindows9x = 12,
164         msiRunModeZawEnabled = 13,
165         msiRunModeScheduled = 16,
166         msiRunModeRollback = 17,
167         msiRunModeCommit = 18
168     } MsiRunMode;
169
170     [ uuid(000C109E-0000-0000-C000-000000000046) ]
171     dispinterface Session
172     {
173     properties:
174     methods:
175         [id(DISPID_SESSION_INSTALLER), propget]
176             Installer *Installer();
177         [id(DISPID_SESSION_PROPERTY), propget]
178             BSTR Property([in] BSTR Name);
179         [id(DISPID_SESSION_PROPERTY), propput]
180             void Property(
181                 [in] BSTR Name,
182                 [in] BSTR rhs);
183         [id(DISPID_SESSION_LANGUAGE), propget]
184             long Language();
185         [id(DISPID_SESSION_MODE), propget]
186             VARIANT_BOOL Mode([in] MsiRunMode Flag);
187         [id(DISPID_SESSION_MODE), propput]
188             void Mode(
189                 [in] MsiRunMode Flag,
190                 [in] VARIANT_BOOL rhs);
191         [id(DISPID_SESSION_DATABASE), propget]
192             Database* Database();
193         [id(DISPID_SESSION_DOACTION)]
194             MsiDoActionStatus DoAction([in] BSTR Action);
195         [id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
196             MsiInstallState FeatureCurrentState([in] BSTR Feature);
197         [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
198             MsiInstallState FeatureRequestState([in] BSTR Feature);
199         [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
200             void FeatureRequestState(
201                 [in] BSTR Feature,
202                 [in] MsiInstallState rhs);
203         [id(DISPID_SESSION_SETINSTALLLEVEL)]
204             void SetInstallLevel([in] long Level);
205     }
206
207     [ uuid(000C109F-0000-0000-C000-000000000046) ]
208     dispinterface FeatureInfo
209     {
210         properties:
211         methods:
212     }
213
214     [ uuid(000C10A0-0000-0000-C000-000000000046) ]
215     dispinterface Product
216     {
217         properties:
218         methods:
219     }
220
221     [ uuid(000C10A1-0000-0000-C000-000000000046) ]
222     dispinterface Patch
223     {
224         properties:
225         methods:
226     }
227 }