[2/9] include: Add IAutomaticUpdates, IUpdateSession, IUpdateSearcher, IUpdateDownloader and IUpdateInstaller interfaces.
Hans Leidekker
hans at codeweavers.com
Tue Dec 16 09:42:03 CST 2008
diff --git a/include/Makefile.in b/include/Makefile.in
index abb89ab..8f004f2 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -75,6 +75,7 @@ PUBLIC_IDL_H_SRCS = \
wine/itss.idl \
wine/svcctl.idl \
wtypes.idl \
+ wuapi.idl \
xmldom.idl \
xmldso.idl
diff --git a/include/wuapi.idl b/include/wuapi.idl
new file mode 100644
index 0000000..27a3d5f
--- /dev/null
+++ b/include/wuapi.idl
@@ -0,0 +1,359 @@
+/*
+ * Copyright 2008 Hans Leidekker for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+cpp_quote("DEFINE_GUID(CLSID_AutomaticUpdates, 0xbfe18e9c,0x6d87,0x4450,0xb3,0x7c,0xe0,0x2f,0x0b,0x37,0x38,0x03);")
+cpp_quote("DEFINE_GUID(CLSID_UpdateSession, 0x4cb43d7f,0x7eee,0x4906,0x86,0x98,0x60,0xda,0x1c,0x38,0xf2,0xfe);")
+
+import "oaidl.idl";
+
+interface IAutomaticUpdates;
+interface IAutomaticUpdatesSettings;
+interface IDownloadJob;
+interface IDownloadResult;
+interface IInstallationJob;
+interface IInstallationResult;
+interface ISearchJob;
+interface ISearchResult;
+interface IUpdateCollection;
+interface IUpdateDownloader;
+interface IUpdateHistoryEntryCollection;
+interface IUpdateInstaller;
+interface IUpdateSearcher;
+interface IUpdateSession;
+interface IWebProxy;
+
+typedef [public] enum tagDownloadPriority
+{
+ dpLow = 1,
+ dpNormal = 2,
+ dpHigh = 3,
+} DownloadPriority;
+
+typedef [public] enum tagServerSelection
+{
+ ssDefault = 0,
+ ssManagedServer = 1,
+ ssWindowsUpdate = 2,
+ ssOthers = 3,
+} ServerSelection;
+
+[
+ object,
+ uuid(673425bf-c082-4c7c-bdfd-569464b8e0ce),
+ oleautomation,
+ dual,
+ nonextensible,
+ pointer_default(unique),
+ hidden
+]
+interface IAutomaticUpdates : IDispatch
+{
+ HRESULT DetectNow();
+ HRESULT Pause();
+ HRESULT Resume();
+ HRESULT ShowSettingsDialog();
+
+ [propget]
+ HRESULT Settings(
+ [out, retval] IAutomaticUpdatesSettings **retval);
+
+ [propget]
+ HRESULT ServiceEnabled(
+ [out, retval] VARIANT_BOOL *retval);
+
+ HRESULT EnableService();
+}
+
+[
+ object,
+ uuid(816858a4-260d-4260-933a-2585f1abc76b),
+ oleautomation,
+ dual,
+ nonextensible,
+ pointer_default(unique),
+]
+interface IUpdateSession : IDispatch
+{
+ [propget]
+ HRESULT ClientApplicationID(
+ [out, retval] BSTR *retval);
+
+ [propput]
+ HRESULT ClientApplicationID(
+ [in] BSTR value);
+
+ [propget]
+ HRESULT ReadOnly(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propget]
+ HRESULT WebProxy(
+ [out, retval] IWebProxy **retval);
+
+ [propput]
+ HRESULT WebProxy(
+ [in, unique] IWebProxy *value);
+
+ HRESULT CreateUpdateSearcher(
+ [out, retval] IUpdateSearcher **retval);
+
+ HRESULT CreateUpdateDownloader(
+ [out, retval] IUpdateDownloader **retval);
+
+ HRESULT CreateUpdateInstaller(
+ [out, retval] IUpdateInstaller **retval);
+}
+
+[
+ object,
+ uuid(8f45abf1-f9ae-4b95-a933-f0f66e5056ea),
+ oleautomation,
+ dual,
+ nonextensible,
+ pointer_default(unique),
+]
+interface IUpdateSearcher : IDispatch
+{
+ [propget]
+ HRESULT CanAutomaticallyUpgradeService(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT CanAutomaticallyUpgradeService(
+ [in] VARIANT_BOOL value);
+
+ [propget]
+ HRESULT ClientApplicationID(
+ [out, retval] BSTR *retval);
+
+ [propput]
+ HRESULT ClientApplicationID(
+ [in] BSTR value);
+
+ [propget]
+ HRESULT IncludePotentiallySupersededUpdates(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT IncludePotentiallySupersededUpdates(
+ [in] VARIANT_BOOL value);
+
+ [propget]
+ HRESULT ServerSelection(
+ [out, retval] ServerSelection *retval);
+
+ [propput]
+ HRESULT ServerSelection(
+ [in] ServerSelection value);
+
+ HRESULT BeginSearch(
+ [in] BSTR criteria,
+ [in] IUnknown *onCompleted,
+ [in] VARIANT state,
+ [out, retval] ISearchJob **retval);
+
+ HRESULT EndSearch(
+ [in] ISearchJob *searchJob,
+ [out, retval] ISearchResult **retval);
+
+ HRESULT EscapeString(
+ [in] BSTR unescaped,
+ [out, retval] BSTR *retval);
+
+ HRESULT QueryHistory(
+ [in] LONG startIndex,
+ [in] LONG count,
+ [out, retval] IUpdateHistoryEntryCollection **retval);
+
+ HRESULT Search(
+ [in] BSTR criteria,
+ [out, retval] ISearchResult **retval);
+
+ [propget]
+ HRESULT Online(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT Online(
+ [in] VARIANT_BOOL value);
+
+ HRESULT GetTotalHistoryCount(
+ [out, retval] LONG *retval);
+
+ [propget]
+ HRESULT ServiceID(
+ [out, retval] BSTR *retval);
+
+ [propput]
+ HRESULT ServiceID(
+ [in] BSTR value);
+}
+
+[
+ object,
+ uuid(68f1c6f9-7ecc-4666-a464-247fe12496c3),
+ oleautomation,
+ dual,
+ nonextensible,
+ pointer_default(unique),
+ hidden
+]
+interface IUpdateDownloader : IDispatch
+{
+ [propget]
+ HRESULT ClientApplicationID(
+ [out, retval] BSTR *retval);
+
+ [propput]
+ HRESULT ClientApplicationID(
+ [in] BSTR value);
+
+ [propget]
+ HRESULT IsForced(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT IsForced(
+ [in] VARIANT_BOOL value);
+
+ [propget]
+ HRESULT Priority(
+ [out, retval] DownloadPriority *retval);
+
+ [propput]
+ HRESULT Priority(
+ [in] DownloadPriority value);
+
+ [propget]
+ HRESULT Updates(
+ [out, retval] IUpdateCollection **retval);
+
+ [propput]
+ HRESULT Updates(
+ [in] IUpdateCollection *value);
+
+ HRESULT BeginDownload(
+ [in] IUnknown *onProgressChanged,
+ [in] IUnknown *onCompleted,
+ [in] VARIANT state,
+ [out, retval] IDownloadJob **retval);
+
+ HRESULT Download(
+ [out, retval] IDownloadResult **retval);
+
+ HRESULT EndDownload(
+ [in] IDownloadJob *value,
+ [out, retval] IDownloadResult **retval);
+}
+
+[
+ object,
+ uuid(7b929c68-ccdc-4226-96b1-8724600b54c2),
+ oleautomation,
+ dual,
+ nonextensible,
+ pointer_default(unique),
+]
+interface IUpdateInstaller : IDispatch
+{
+ [propget]
+ HRESULT ClientApplicationID(
+ [out, retval] BSTR *retval);
+
+ [propput]
+ HRESULT ClientApplicationID(
+ [in] BSTR value);
+
+ [propget]
+ HRESULT IsForced(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT IsForced(
+ [in] VARIANT_BOOL value);
+
+ [propget, restricted]
+ HRESULT ParentHwnd(
+ [out, retval] HWND *retval);
+
+ [propput, restricted]
+ HRESULT ParentHwnd(
+ [in, unique] HWND value);
+
+ [propput]
+ HRESULT ParentWindow(
+ [in, unique] IUnknown *value);
+
+ [propget]
+ HRESULT ParentWindow(
+ [out, retval] IUnknown **retval);
+
+ [propget]
+ HRESULT Updates(
+ [out, retval] IUpdateCollection **retval);
+
+ [propput]
+ HRESULT Updates(
+ [in] IUpdateCollection *value);
+
+ HRESULT BeginInstall(
+ [in] IUnknown *onProgressChanged,
+ [in] IUnknown *onCompleted,
+ [in] VARIANT state,
+ [out, retval] IInstallationJob **retval);
+
+ HRESULT BeginUninstall(
+ [in] IUnknown *onProgressChanged,
+ [in] IUnknown *onCompleted,
+ [in] VARIANT state,
+ [out, retval] IInstallationJob **retval);
+
+ HRESULT EndInstall(
+ [in] IInstallationJob *value,
+ [out, retval] IInstallationResult **retval);
+
+ HRESULT EndUninstall(
+ [in] IInstallationJob *value,
+ [out, retval] IInstallationResult **retval);
+
+ HRESULT Install(
+ [out, retval] IInstallationResult **retval);
+
+ HRESULT RunWizard(
+ [in, defaultvalue("")] BSTR dialogTitle,
+ [out, retval] IInstallationResult **retval);
+
+ [propget]
+ HRESULT IsBusy(
+ [out, retval] VARIANT_BOOL *retval);
+
+ HRESULT Uninstall(
+ [out, retval] IInstallationResult **retval);
+
+ [propget]
+ HRESULT AllowSourcePrompts(
+ [out, retval] VARIANT_BOOL *retval);
+
+ [propput]
+ HRESULT AllowSourcePrompts(
+ [in] VARIANT_BOOL value);
+
+ [propget]
+ HRESULT RebootRequiredBeforeInstallation(
+ [out, retval] VARIANT_BOOL *retval);
+}
More information about the wine-patches
mailing list