blob: 27a3d5f1c1057d60cd7e60a0d36ea35af5459c82 [file] [log] [blame]
/*
* 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);
}