[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