1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336 |
- // Copyright 2009-2010 Google Inc.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- // ========================================================================
- import "oaidl.idl";
- import "ocidl.idl";
- // When adding interfaces to this file:
- // * Do not use "Google" or "GoogleUpdate" directly. Instead, use preprocessor
- // defines.
- // * Add a test for the Google-specific value to
- // omaha_customization_goopdate_apis_unittest.cc.
- //
- // Enums.
- // These values can be passed to interface methods and/or compared to their
- // output.
- //
- // Must be kept in sync with the enum in base/browser_utils.h.
- typedef enum BrowserType {
- BROWSER_UNKNOWN = 0,
- BROWSER_DEFAULT = 1,
- BROWSER_INTERNET_EXPLORER = 2,
- BROWSER_FIREFOX = 3,
- BROWSER_CHROME = 4,
- } BrowserType;
- // The normal install flow proceeds from STATE_INIT through
- // STATE_INSTALL_COMPLETE in order, skipping states that are not relevant.
- // All exceptions and terminal states are start with STATE_INSTALL_COMPLETE.
- typedef enum CurrentState {
- STATE_INIT = 1,
- STATE_WAITING_TO_CHECK_FOR_UPDATE = 2,
- STATE_CHECKING_FOR_UPDATE = 3,
- STATE_UPDATE_AVAILABLE = 4,
- STATE_WAITING_TO_DOWNLOAD = 5,
- STATE_RETRYING_DOWNLOAD = 6,
- STATE_DOWNLOADING = 7,
- STATE_DOWNLOAD_COMPLETE = 8,
- STATE_EXTRACTING = 9,
- STATE_APPLYING_DIFFERENTIAL_PATCH = 10,
- // TODO(omaha3): Should we move STATE_DOWNLOAD_COMPLETE here and eliminate
- // STATE_READY_TO_INSTALL?
- STATE_READY_TO_INSTALL = 11,
- STATE_WAITING_TO_INSTALL = 12,
- STATE_INSTALLING = 13,
- STATE_INSTALL_COMPLETE = 14,
- STATE_PAUSED = 15,
- STATE_NO_UPDATE = 16,
- STATE_ERROR = 17,
- } CurrentState;
- typedef enum InstallPriority {
- INSTALL_PRIORITY_LOW = 0,
- INSTALL_PRIORITY_HIGH = 10,
- } InstallPriority;
- // Specifies what the client should do after installation.
- typedef enum PostInstallAction {
- POST_INSTALL_ACTION_DEFAULT = 0,
- // Caller should exit silently.
- POST_INSTALL_ACTION_EXIT_SILENTLY = 1,
- // Caller should launch the command.
- POST_INSTALL_ACTION_LAUNCH_COMMAND = 2,
- // Caller should launch the command and exit silently.
- POST_INSTALL_ACTION_EXIT_SILENTLY_ON_LAUNCH_COMMAND = 3,
- // The caller should ask the user to restart the browser. If the value of
- // IApp's browser is supported and postInstallUrl is valid, the client should
- // offer to restart the browser. If the user chooses to do so, the client
- // should launch the ICurrentState::postInstallUrl after shutting down and
- // restarting the browser.
- POST_INSTALL_ACTION_RESTART_BROWSER = 4,
- // Similar to POST_INSTALL_ACTION_RESTART_BROWSER, but ask the user to shut
- // down all browsers.
- POST_INSTALL_ACTION_RESTART_ALL_BROWSERS = 5,
- // The caller should ask the user to reboot the machine.
- POST_INSTALL_ACTION_REBOOT = 6,
- } PostInstallAction;
- enum AppCommandStatus {
- // The command has never been executed.
- COMMAND_STATUS_INIT = 1,
- // The command is running.
- COMMAND_STATUS_RUNNING = 2,
- // An error occurred while launching or monitoring the command.
- COMMAND_STATUS_ERROR = 3,
- // The command has completed execution.
- COMMAND_STATUS_COMPLETE = 4,
- };
- [
- object,
- dual,
- uuid(6DB17455-4E85-46e7-9D23-E555E4B005AF),
- helpstring("IGoogleUpdate3 Interface"),
- pointer_default(unique)
- ]
- interface IGoogleUpdate3 : IDispatch {
- // TODO(Omaha): Perhaps this interface exposes helpers such as
- // RestartBrowsers, etc.
- // Returns the count of the AppBundles in this IGoogleUpdate3 interface.
- [id(1), propget] HRESULT Count([out, retval] long* count);
- // Returns an IDispatch of the AppBundle in this IGoogleUpdate3 interface at
- // the specified 0-based index. This property has the dispid of DISPID_VALUE
- // to make it the default property of IGoogleUpdate3.
- [id(DISPID_VALUE), propget] HRESULT Item([in] long index,
- [out, retval] IDispatch** bundle);
- // Returns an IDispatch to a newly created empty AppBundle.
- [id(2)] HRESULT createAppBundle([out, retval] IDispatch** app_bundle);
- }
- [
- object,
- dual,
- uuid(fe908cdd-22bb-472a-9870-1a0390e42f36),
- helpstring("IAppBundle Interface"),
- pointer_default(unique)
- ]
- interface IAppBundle : IDispatch {
- // TODO(omaha3): AppBundle::display_name_ is never used. Should we remove?
- [propget] HRESULT displayName([out, retval] BSTR*);
- [propput] HRESULT displayName([in] BSTR);
- [propget] HRESULT displayLanguage([out, retval] BSTR*);
- [propput] HRESULT displayLanguage([in] BSTR);
- [propget] HRESULT installSource([out, retval] BSTR*);
- [propput] HRESULT installSource([in] BSTR);
- [propget] HRESULT originURL([out, retval] BSTR*);
- [propput] HRESULT originURL([in] BSTR);
- [propget] HRESULT offlineDirectory([out, retval] BSTR* offline_dir);
- [propput] HRESULT offlineDirectory([in] BSTR offline_dir);
- [propget] HRESULT sessionId([out, retval] BSTR* session_id);
- [propput] HRESULT sessionId([in] BSTR session_id);
- // Controls whether or not event pings should be sent at the end of
- // an operation.
- [propget] HRESULT sendPings([out, retval] VARIANT_BOOL* send_pings);
- [propput] HRESULT sendPings([in] VARIANT_BOOL send_pings);
- // The priority property determines download speed/priority and the number/
- // frequency of retries. Use values from the InstallPriority enum.
- [propget] HRESULT priority([out, retval] long* priority);
- [propput] HRESULT priority([in] long priority);
- // Returns the count of the Apps in the AppBundle.
- [id(1), propget] HRESULT Count([out, retval] long* count);
- // Returns an IDispatch of the App in the AppBundle at the specified 0-based
- // index. This property has the dispid of DISPID_VALUE to make it the default
- // property of IAppBundle.
- [id(DISPID_VALUE), propget] HRESULT Item([in] long index,
- [out, retval] IDispatch** app);
- // Impersonation and primary tokens set by the client. Typically only
- // set by the gupdatem service. The gupdatem service exposes a narrow
- // interface to medium integrity clients. When a medium integrity client calls
- // into the gupdatem service, the gupdatem service captures the token of the
- // caller, and then calls put_altTokens() on the gupdate service, so that the
- // gupdate service can use it for future download() and install() requests.
- [propput] HRESULT altTokens([in] ULONG_PTR impersonation_token,
- [in] ULONG_PTR primary_token,
- [in] DWORD caller_proc_id);
- // Sets a HWND to associate with the client, if any. This will be used as
- // the parent window for any dialogs that the server may need to display.
- [propput] HRESULT parentHWND([in] ULONG_PTR hwnd);
- // Initializes the bundle with the properties that have been set.
- [id(2)] HRESULT initialize();
- // Returns an IDispatch to a new App for the specified app id.
- // The App is added to the Bundle.
- [id(3)] HRESULT createApp([in] BSTR app_id,
- [out, retval] IDispatch** app);
- // Returns an IDispatch to a newly created App for the specified app ID. The
- // App is populated with information from the existing installation and added
- // to the Bundle. Fails if the specified app is not installed.
- [id(4)] HRESULT createInstalledApp([in] BSTR app_id,
- [out, retval] IDispatch** app);
- // Creates App instances for all installed apps managed by this Omaha
- // instance. Each App is populated with information from the existing install.
- [id(5)] HRESULT createAllInstalledApps();
- // These methods are non-blocking. The operation is scheduled.
- [id(6)] HRESULT checkForUpdate();
- [id(7)] HRESULT download();
- [id(8)] HRESULT install();
- // All-in-one function for automatically updating all apps. Populates the
- // bundle then schedules the update, which includes the update check and
- // download and install, if necessary.
- [id(9)] HRESULT updateAllApps();
- // These three methods are non-blocking. The operation is requested.
- [id(10)] HRESULT stop();
- [id(11)] HRESULT pause();
- [id(12)] HRESULT resume();
- // Returns true if the bundle has an uncompleted non-blocking request.
- [id(13)] HRESULT isBusy([out, retval] VARIANT_BOOL* is_busy);
- // Downloads a package of an installed application.
- [id(14)] HRESULT downloadPackage([in] BSTR app_id, [in] BSTR package_name);
- // TODO(omaha): Define this aggregated bundle state. Is this really a property
- // or should it be getCurrentState?
- // The server and bundle are the only thing that can provide aggregated
- // time estimates for downloads. Also, aggregate percentage is not currently
- // available to the client because the total bytes to download is not
- // available from App in all post-update check states.
- // To do this, we will probably need to know the total expected download
- // size for all packages to be installed - those that are required or in use -
- // by the time the update check phase is complete.
- [id(15), propget] HRESULT currentState([out, retval] VARIANT* current_state);
- };
- [
- object,
- dual,
- uuid(76F7B787-A67C-4c73-82C7-31F5E3AABC5C),
- helpstring("IApp Interface"),
- pointer_default(unique)
- ]
- interface IApp : IDispatch {
- // Returns a version IDispatch object.
- [id(1), propget] HRESULT currentVersion([out, retval] IDispatch** current);
- [id(2), propget] HRESULT nextVersion([out, retval] IDispatch** next);
- [propget] HRESULT appId([out, retval] BSTR*);
- [propget] HRESULT displayName([out, retval] BSTR*);
- [propput] HRESULT displayName([in] BSTR);
- [propget] HRESULT language([out, retval] BSTR*);
- [propput] HRESULT language([in] BSTR);
- [propget] HRESULT ap([out, retval] BSTR*);
- [propput] HRESULT ap([in] BSTR);
- [propget] HRESULT ttToken([out, retval] BSTR*);
- [propput] HRESULT ttToken([in] BSTR);
- [propget] HRESULT iid([out, retval] BSTR*);
- [propput] HRESULT iid([in] BSTR);
- [propget] HRESULT brandCode([out, retval] BSTR*);
- [propput] HRESULT brandCode([in] BSTR);
- [propget] HRESULT clientId([out, retval] BSTR*);
- [propput] HRESULT clientId([in] BSTR);
- [propget] HRESULT labels([out, retval] BSTR*);
- [propput] HRESULT labels([in] BSTR);
- [propget] HRESULT referralId([out, retval] BSTR*);
- [propput] HRESULT referralId([in] BSTR);
- // Returns an IDispatch to a command defined by this installed app with the
- // specified ID, or NULL if this app is not installed or the command ID is not
- // recognized.
- [propget] HRESULT command([in] BSTR command_id,
- [out, retval] IDispatch** command);
- // Use values from the BrowserType enum.
- [propget] HRESULT browserType([out, retval] UINT*);
- [propput] HRESULT browserType([in] UINT);
- [propget] HRESULT clientInstallData([out, retval] BSTR*);
- [propput] HRESULT clientInstallData([in] BSTR);
- [propget] HRESULT serverInstallDataIndex([out, retval] BSTR*);
- [propput] HRESULT serverInstallDataIndex([in] BSTR);
- // Set as soon as possible. Error pings are disabled until set to true.
- [propget] HRESULT isEulaAccepted([out, retval] VARIANT_BOOL*);
- [propput] HRESULT isEulaAccepted([in] VARIANT_BOOL);
- [propget] HRESULT usageStatsEnable([out, retval] UINT*);
- [propput] HRESULT usageStatsEnable([in] UINT);
- [propget] HRESULT installTimeDiffSec([out, retval] UINT*);
- // Returns an ICurrentState interface. The object underlying the interface has
- // static data that does not get updated as the server state changes. To get
- // the most "current" state, the currentState property needs to be queried
- // again.
- [propget] HRESULT currentState([out, retval] IDispatch**);
- };
- [
- object,
- dual,
- uuid(084D78A8-B084-4E14-A629-A2C419B0E3D9),
- helpstring("IApp2 Interface"),
- pointer_default(unique)
- ]
- interface IApp2 : IApp {
- [propget] HRESULT untrustedData([out, retval] BSTR*);
- [propput] HRESULT untrustedData([in] BSTR);
- };
- [
- object,
- dual,
- uuid(4DE778FE-F195-4ee3-9DAB-FE446C239221),
- helpstring("IAppCommand Interface"),
- pointer_default(unique)
- ]
- interface IAppCommand : IDispatch {
- [propget] HRESULT isWebAccessible([out, retval] VARIANT_BOOL*);
- // Use values from the AppCommandStatus enum.
- [propget] HRESULT status([out, retval] UINT*);
- [propget] HRESULT exitCode([out, retval] DWORD*);
- HRESULT execute([in, optional] VARIANT arg1,
- [in, optional] VARIANT arg2,
- [in, optional] VARIANT arg3,
- [in, optional] VARIANT arg4,
- [in, optional] VARIANT arg5,
- [in, optional] VARIANT arg6,
- [in, optional] VARIANT arg7,
- [in, optional] VARIANT arg8,
- [in, optional] VARIANT arg9);
- };
- [
- object,
- dual,
- uuid(3D05F64F-71E3-48A5-BF6B-83315BC8AE1F),
- helpstring("IAppCommand2 Interface"),
- pointer_default(unique)
- ]
- interface IAppCommand2 : IAppCommand {
- [propget] HRESULT output([out, retval] BSTR*);
- };
- [
- object,
- dual,
- uuid(BCDCB538-01C0-46d1-A6A7-52F4D021C272),
- helpstring("IAppVersion Interface"),
- pointer_default(unique)
- ]
- interface IAppVersion : IDispatch {
- [propget] HRESULT version([out, retval] BSTR*);
- // [propget] HRESULT installManifest([out, retval] BSTR*);
- // Returns the count of the Packages in the AppVersion.
- [propget] HRESULT packageCount([out, retval] long* count);
- // Returns an IDispatch of the Package in the AppVersion at the specified
- // 0-based index.
- [propget] HRESULT package([in] long index,
- [out, retval] IDispatch** package);
- };
- [
- object,
- dual,
- uuid(DCAB8386-4F03-4dbd-A366-D90BC9F68DE6),
- helpstring("IPackage Interface"),
- pointer_default(unique)
- ]
- interface IPackage : IDispatch {
- // Retrieves the package from the package cache and copies it to the
- // directory provided. Returns an error is the package is not available
- // locally.
- [id(1)] HRESULT get([in] BSTR dir);
- // Returns true if the package has been downloaded and is available
- // locally.
- [propget] HRESULT isAvailable([out, retval] VARIANT_BOOL*);
- // Returns the manifest name of the package.
- [propget] HRESULT filename([out, retval] BSTR*);
- };
- // TODO(omaha3): We should figure out what else we are going to want in this
- // interface before dogfood even if we do not implement it.
- [
- object,
- dual,
- uuid(247954F9-9EDC-4E68-8CC3-150C2B89EADF),
- helpstring("ICurrentState Interface"),
- pointer_default(unique)
- ]
- interface ICurrentState : IDispatch {
- // This interface is exposed to web clients!
- // TODO(omaha3): Update valid comments once we settle on an implementation.
- // A value from the CurrentState enum. This value determines which of the
- // properties below are valid.
- [propget] HRESULT stateValue([out, retval] LONG*);
- // The remaining properties are only valid in the specified states. For all
- // other states, the values are not specified.
- // This property is valid only when stateValue is STATE_UPDATE_AVAILABLE.
- [propget] HRESULT availableVersion([out, retval] BSTR*);
- // The following three properties are only valid when stateValue is
- // STATE_WAITING_TO_DOWNLOAD, STATE_RETRYING_DOWNLOAD, STATE_DOWNLOADING,
- // STATE_DOWNLOAD_COMPLETE, STATE_EXTRACTING,
- // STATE_APPLYING_DIFFERENTIAL_PATCH, or STATE_READY_TO_INSTALL.
- // Bytes downloaded so far.
- [propget] HRESULT bytesDownloaded([out, retval] ULONG*);
- // Total bytes to download.
- [propget] HRESULT totalBytesToDownload([out, retval] ULONG*);
- // Estimated download time remaining in ms. -1 indicates unknown.
- // Progress may not always be available, so clients should handle the -1 case.
- [propget] HRESULT downloadTimeRemainingMs([out, retval] LONG*);
- [propget] HRESULT nextRetryTime([out, retval] ULONGLONG*);
- // TODO(omaha 3): Need some way to indicate reconnecting, retrying, etc.
- // The following two properties are only valid when stateValue is
- // STATE_INSTALLING or STATE_INSTALL_COMPLETE.
- // Current install progress in percentage from 0 to 100. -1 indicates unknown.
- // Progress may not always be available, so clients should handle the -1 case.
- [propget] HRESULT installProgress([out, retval] LONG*);
- // Estimated download time remaining in ms. -1 indicates unknown.
- // Progress may not always be available, so clients should handle the -1 case.
- [propget] HRESULT installTimeRemainingMs([out, retval] LONG*);
- // The following four properties are only valid when stateValue is
- // STATE_ERROR:
- // Returns true if the app has been canceled.
- [propget] HRESULT isCanceled([out, retval] VARIANT_BOOL* is_canceled);
- // Error code.
- [propget] HRESULT errorCode([out, retval] LONG*);
- // Error extra code.
- [propget] HRESULT extraCode1([out, retval] LONG*);
- // The following three properties are only valid when stateValue is
- // STATE_ERROR or STATE_INSTALL_COMPLETE.
- // TODO(omaha3): If STATE_DOWNLOAD_COMPLETE or STATE_READY_TO_INSTALL becomes
- // a terminal state, does it support completion messages?
- // Completion message, localized in the specified language.
- // TODO(omaha3): If we're going to have bundle error messages too, should the
- // language be at bundle level? Should bundle have its own language setter?
- [propget] HRESULT completionMessage([out, retval] BSTR*);
- // Application installer result code. This is to be used as additional
- // information only. Success/failure should be determined using errorCode.
- // This is an error if errorCode is GOOPDATEINSTALL_E_INSTALLER_FAILED.
- [propget] HRESULT installerResultCode([out, retval] LONG*);
- // Application installer extra code.
- [propget] HRESULT installerResultExtraCode1([out, retval] LONG*);
- // A command that needs to be launched by the client after installation.
- [propget] HRESULT postInstallLaunchCommandLine([out, retval] BSTR*);
- // URL to be launched after restarting the browser.
- [propget] HRESULT postInstallUrl([out, retval] BSTR*);
- // Returns a PostInstallAction value indicating the action to be taken by the
- // client after installation.
- [propget] HRESULT postInstallAction([out, retval] LONG*);
- }
- [
- object,
- dual,
- uuid(4E223325-C16B-4eeb-AEDC-19AA99A237FA),
- helpstring("IRegistrationUpdateHook Interface"),
- pointer_default(unique)
- ]
- interface IRegistrationUpdateHook : IDispatch {
- HRESULT UpdateRegistry([in] BSTR app_id, [in] VARIANT_BOOL is_machine);
- };
- [
- object,
- uuid(b3a47570-0a85-4aea-8270-529d47899603),
- helpstring("ICredentialDialog Interface"),
- pointer_default(unique)
- ]
- interface ICredentialDialog : IUnknown {
- HRESULT QueryUserForCredentials([in] ULONG_PTR owner_hwnd,
- [in] BSTR server,
- [in] BSTR message,
- [out] BSTR* username,
- [out] BSTR* password);
- };
- // This is a legacy interface that could be removed in future versions. Do not
- // use.
- [
- object,
- dual,
- uuid(F63F6F8B-ACD5-413C-A44B-0409136D26CB),
- helpstring("IPolicyStatus Interface"),
- pointer_default(unique)
- ]
- interface IPolicyStatus : IDispatch {
- // Global Update Policies
- // Returns the time interval between update checks in minutes.
- // 0 indicates updates are disabled.
- [propget] HRESULT lastCheckPeriodMinutes([out, retval] DWORD* minutes);
- // For domain-joined machines, returns the suppressed times if any, and also
- // checks the current time against the times that updates are suppressed.
- // Updates are suppressed if the current time falls between the start time and
- // the duration.
- // The duration does not account for daylight savings time. For instance, if
- // the start time is 22:00 hours, and with a duration of 8 hours, the updates
- // will be suppressed for 8 hours regardless of whether daylight savings time
- // changes happen in between.
- [propget] HRESULT updatesSuppressedTimes(
- [out] DWORD* start_hour,
- [out] DWORD* start_min,
- [out] DWORD* duration_min,
- [out] VARIANT_BOOL* are_updates_suppressed);
- // Returns the value of the "DownloadPreference" group policy or an
- // empty string if the group policy does not exist, the policy is unknown, or
- // an error happened.
- [propget] HRESULT downloadPreferenceGroupPolicy([out, retval] BSTR* pref);
- // Gets the total disk size limit for cached packages. When this limit is hit,
- // packages may be deleted from oldest until total size is below the limit.
- [propget] HRESULT packageCacheSizeLimitMBytes([out, retval] DWORD* limit);
- // Gets the package cache life limit. If a cached package is older than this
- // limit, it may be deleted.
- [propget] HRESULT packageCacheExpirationTimeDays([out, retval] DWORD* days);
- // Application Update Policies
- // Returns 1 if installation of the specified app is allowed.
- // Otherwise, returns 0.
- [propget] HRESULT effectivePolicyForAppInstalls([in] BSTR app_id,
- [out, retval] DWORD* policy);
- // Returns 1 if updates of the specified app is allowed.
- // Otherwise, returns one of 0 (Disabled), 2 (ManualUpdatesOnly), or
- // 3 (AutomaticUpdatesOnly).
- [propget] HRESULT effectivePolicyForAppUpdates([in] BSTR app_id,
- [out, retval] DWORD* policy);
- // Returns the target version prefix for the app, if the machine is joined to
- // a domain and has the corresponding policy set.
- // Examples:
- // * "" (or not configured): update to latest version available.
- // * "55.": update to any minor version of 55 (e.g. 55.24.34 or 55.60.2).
- // * "55.2.": update to any minor version of 55.2 (e.g. 55.2.34 or 55.2.2).
- // * "55.24.34": update to this specific version only.
- [propget] HRESULT targetVersionPrefix([in] BSTR app_id,
- [out, retval] BSTR* prefix);
- // Returns whether the RollbackToTargetVersion policy has been set for the
- // app. If RollbackToTargetVersion is set, the TargetVersionPrefix policy
- // governs the version to rollback clients with higher versions to.
- [propget] HRESULT isRollbackToTargetVersionAllowed(
- [in] BSTR app_id,
- [out, retval] VARIANT_BOOL* rollback_allowed);
- };
- // IPolicyStatusValue represents the managed state of a single Google Update
- // policy. It contains the current source and value, as well as if any conflicts
- // exist with that policy.
- [
- object,
- dual,
- uuid(27634814-8E41-4C35-8577-980134A96544),
- helpstring("IPolicyStatusValue Interface"),
- pointer_default(unique)
- ]
- interface IPolicyStatusValue : IDispatch {
- [propget] HRESULT source([out, retval] BSTR*);
- [propget] HRESULT value([out, retval] BSTR*);
- [propget] HRESULT hasConflict([out, retval] VARIANT_BOOL* has_conflict);
- [propget] HRESULT conflictSource([out, retval] BSTR*);
- [propget] HRESULT conflictValue([out, retval] BSTR*);
- }
- // IPolicyStatus2 exposes the following:
- // * properties for Google Update that includes Global Update state, such as the
- // Version of the Updater, the Time that Updates were checked for last.
- // * A way to refresh the latest policies from the DM Server.
- // * the managed state of Omaha policies. Each policy returns an
- // IPolicyStatusValue that can be queried for the current source and value, as
- // well as if any conflicts exist with that policy.
- // IPolicyStatusValue is implemented by an object that marshals itself by
- // value. To get the "current" value, the policy needs to be queried fresh.
- [
- object,
- dual,
- uuid(34527502-D3DB-4205-A69B-789B27EE0414),
- helpstring("IPolicyStatus2 Interface"),
- pointer_default(unique)
- ]
- interface IPolicyStatus2 : IDispatch {
- // Global Update Status.
- // Returns the running version of the Updater. For instance, 1.3.35.454.
- [propget] HRESULT updaterVersion([out, retval] BSTR* version);
- // Returns the last time that the Updater successfully checked for updates.
- [propget] HRESULT lastCheckedTime([out, retval] DATE* last_checked);
- // DM policy cache refresh.
- // Gets the latest policies from the DM Server.
- HRESULT refreshPolicies();
- // Global Update Policies
- // Returns the time interval between update checks in minutes.
- // 0 indicates updates are disabled.
- [propget] HRESULT lastCheckPeriodMinutes(
- [out, retval] IPolicyStatusValue** value);
- // For domain-joined machines, returns the suppressed times if any, and also
- // checks the current time against the times that updates are suppressed.
- // Updates are suppressed if the current time falls between the start time and
- // the duration.
- // The duration does not account for daylight savings time. For instance, if
- // the start time is 22:00 hours, and with a duration of 8 hours, the updates
- // will be suppressed for 8 hours regardless of whether daylight savings time
- // changes happen in between.
- [propget] HRESULT updatesSuppressedTimes(
- [out] IPolicyStatusValue** value,
- VARIANT_BOOL* are_updates_suppressed);
- // Returns the value of the "DownloadPreference" group policy or an
- // empty string if the group policy does not exist, the policy is unknown, or
- // an error happened.
- [propget] HRESULT downloadPreferenceGroupPolicy(
- [out, retval] IPolicyStatusValue** value);
- // Gets the total disk size limit for cached packages. When this limit is hit,
- // packages may be deleted from oldest until total size is below the limit.
- [propget] HRESULT packageCacheSizeLimitMBytes(
- [out, retval] IPolicyStatusValue** value);
- // Gets the package cache life limit. If a cached package is older than this
- // limit, it may be deleted.
- [propget] HRESULT packageCacheExpirationTimeDays(
- [out, retval] IPolicyStatusValue** value);
- // Gets the proxy policy values.
- [propget] HRESULT proxyMode([out, retval] IPolicyStatusValue** value);
- [propget] HRESULT proxyPacUrl([out, retval] IPolicyStatusValue** value);
- [propget] HRESULT proxyServer([out, retval] IPolicyStatusValue** value);
- // Application Update Policies
- // Returns 1 if installation of the specified app is allowed.
- // Otherwise, returns 0.
- [propget] HRESULT effectivePolicyForAppInstalls(
- [in] BSTR app_id,
- [out, retval] IPolicyStatusValue** value);
- // Returns 1 if updates of the specified app is allowed.
- // Otherwise, returns one of 0 (Disabled), 2 (ManualUpdatesOnly), or
- // 3 (AutomaticUpdatesOnly).
- [propget] HRESULT effectivePolicyForAppUpdates(
- [in] BSTR app_id,
- [out, retval] IPolicyStatusValue** value);
- // Returns the target version prefix for the app, if the machine is joined to
- // a domain and has the corresponding policy set.
- // Examples:
- // * "" (or not configured): update to latest version available.
- // * "55.": update to any minor version of 55 (e.g. 55.24.34 or 55.60.2).
- // * "55.2.": update to any minor version of 55.2 (e.g. 55.2.34 or 55.2.2).
- // * "55.24.34": update to this specific version only.
- [propget] HRESULT targetVersionPrefix(
- [in] BSTR app_id,
- [out, retval] IPolicyStatusValue** value);
- // Returns whether the RollbackToTargetVersion policy has been set for the
- // app. If RollbackToTargetVersion is set, the TargetVersionPrefix policy
- // governs the version to rollback clients with higher versions to.
- [propget] HRESULT isRollbackToTargetVersionAllowed(
- [in] BSTR app_id, [out, retval] IPolicyStatusValue** value);
- // Returns the target channel for the app, if the machine is joined to a
- // domain and has the corresponding policy set.
- [propget] HRESULT targetChannel([in] BSTR app_id,
- [out, retval] IPolicyStatusValue** value);
- };
- // BEGIN gupdatem interfaces.
- // The following interfaces are exposed as a narrower version of the
- // IGoogleUpdate3 interface from the gupdatem service. These interfaces are
- // meant for use from medium and low integrity clients.
- [
- object,
- dual,
- uuid(494B20CF-282E-4BDD-9F5D-B70CB09D351E),
- helpstring("IGoogleUpdate3Web Interface"),
- pointer_default(unique)
- ]
- interface IGoogleUpdate3Web : IDispatch {
- HRESULT createAppBundleWeb([out, retval] IDispatch** app_bundle_web);
- };
- [
- object,
- uuid(2D363682-561D-4c3a-81C6-F2F82107562A),
- helpstring("IGoogleUpdate3WebSecurity Interface"),
- pointer_default(unique)
- ]
- interface IGoogleUpdate3WebSecurity : IUnknown {
- HRESULT setOriginURL([in] BSTR origin_url);
- };
- [
- object,
- dual,
- uuid(DD42475D-6D46-496a-924E-BD5630B4CBBA),
- helpstring("IAppBundleWeb Interface"),
- pointer_default(unique)
- ]
- interface IAppBundleWeb : IDispatch {
- [id(2)] HRESULT createApp([in] BSTR app_guid,
- [in] BSTR brand_code,
- [in] BSTR language,
- [in] BSTR ap);
- [id(3)] HRESULT createInstalledApp([in] BSTR app_id);
- [id(4)] HRESULT createAllInstalledApps();
- [propget] HRESULT displayLanguage([out, retval] BSTR*);
- [propput] HRESULT displayLanguage([in] BSTR);
- [propput] HRESULT parentHWND([in] ULONG_PTR hwnd);
- [propget] HRESULT length([out, retval] int* index);
- [id(DISPID_VALUE), propget] HRESULT appWeb(
- [in] int index, [out, retval] IDispatch** app_web);
- HRESULT initialize();
- HRESULT checkForUpdate();
- HRESULT download();
- HRESULT install();
- HRESULT pause();
- HRESULT resume();
- HRESULT cancel();
- HRESULT downloadPackage([in] BSTR app_id, [in] BSTR package_name);
- [propget] HRESULT currentState([out, retval] VARIANT* current_state);
- };
- [
- object,
- dual,
- uuid(18D0F672-18B4-48e6-AD36-6E6BF01DBBC4),
- helpstring("IAppWeb Interface"),
- pointer_default(unique)
- ]
- interface IAppWeb : IDispatch {
- [propget] HRESULT appId([out, retval] BSTR*);
- // Returns an IAppVersionWeb IDispatch object.
- [propget] HRESULT currentVersionWeb([out, retval] IDispatch** current);
- [propget] HRESULT nextVersionWeb([out, retval] IDispatch** next);
- // Returns an IAppCommandWeb IDispatch object, or NULL.
- [propget] HRESULT command([in] BSTR command_id,
- [out, retval] IDispatch** command);
- HRESULT cancel();
- [propget] HRESULT currentState([out, retval] IDispatch** current_state);
- HRESULT launch();
- HRESULT uninstall();
- [propget] HRESULT serverInstallDataIndex([out, retval] BSTR*);
- [propput] HRESULT serverInstallDataIndex([in] BSTR);
- };
- [
- object,
- dual,
- uuid(8476CE12-AE1F-4198-805C-BA0F9B783F57),
- helpstring("IAppCommandWeb Interface"),
- pointer_default(unique)
- ]
- interface IAppCommandWeb : IDispatch {
- // Use values from the AppCommandStatus enum.
- [propget] HRESULT status([out, retval] UINT*);
- [propget] HRESULT exitCode([out, retval] DWORD*);
- [propget] HRESULT output([out, retval] BSTR*);
- HRESULT execute([in, optional] VARIANT arg1,
- [in, optional] VARIANT arg2,
- [in, optional] VARIANT arg3,
- [in, optional] VARIANT arg4,
- [in, optional] VARIANT arg5,
- [in, optional] VARIANT arg6,
- [in, optional] VARIANT arg7,
- [in, optional] VARIANT arg8,
- [in, optional] VARIANT arg9);
- };
- [
- object,
- dual,
- uuid(0CD01D1E-4A1C-489d-93B9-9B6672877C57),
- helpstring("IAppVersionWeb Interface"),
- pointer_default(unique)
- ]
- interface IAppVersionWeb : IDispatch {
- [propget] HRESULT version([out, retval] BSTR*);
- // Returns the count of the Packages in the AppVersion.
- [propget] HRESULT packageCount([out, retval] long* count);
- // TODO(omaha3): Implement this after a security review.
- // Returns an IDispatch of the Package in the AppVersion at the specified
- // 0-based index.
- [propget] HRESULT packageWeb([in] long index,
- [out, retval] IDispatch** package);
- };
- [
- object,
- dual,
- uuid(2E629606-312A-482f-9B12-2C4ABF6F0B6D),
- helpstring("ICoCreateAsyncStatus Interface"),
- pointer_default(unique)
- ]
- interface ICoCreateAsyncStatus : IDispatch {
- [propget] HRESULT isDone([out, retval] VARIANT_BOOL* is_done);
- [propget] HRESULT completionHResult([out, retval] LONG* hr);
- [propget] HRESULT createdInstance([out, retval] IDispatch** instance);
- };
- [
- object,
- uuid(DAB1D343-1B2A-47f9-B445-93DC50704BFE),
- helpstring("ICoCreateAsync Interface"),
- pointer_default(unique)
- ]
- interface ICoCreateAsync : IUnknown {
- HRESULT createOmahaMachineServerAsync(
- [in] BSTR origin_url,
- [in] BOOL create_elevated,
- [out, retval] ICoCreateAsyncStatus** status);
- };
- // END gupdatem interfaces.
- // BEGIN Legacy google_update_idl interfaces.
- [
- object,
- uuid(5B25A8DC-1780-4178-A629-6BE8B8DEFAA2),
- oleautomation,
- nonextensible,
- pointer_default(unique)
- ]
- interface IBrowserHttpRequest2 : IUnknown {
- // This method will send request/data from the browser process.
- // @param url URL where request will be send.
- // @param post_data POST data, if any. Can be NULL.
- // @param request_headers HTTP request headers, if any. Can be NULL.
- // @param response_headers_needed HTTP response headers that are needed.
- // Should be one of the values listed here:
- // http://msdn.microsoft.com/aa385351.aspx
- // The input is a SAFEARRAY of DWORD. Can be a
- // VT_EMPTY.
- // @param response_headers HTTP response headers, returned as SAFEARRAY
- // of BSTR. The values corresponding one-to-one
- // with the response_headers_needed values. Can
- // be NULL if response_headers_needed==VT_EMPTY
- // @param response_code HTTP response code.
- // @param cache_filename Cache file that contains the response data.
- HRESULT Send([in] BSTR url,
- [in] BSTR post_data,
- [in] BSTR request_headers,
- [in] VARIANT response_headers_needed,
- [out] VARIANT* response_headers,
- [out] DWORD* response_code,
- [out] BSTR* cache_filename);
- };
- [
- object,
- oleautomation,
- uuid(128C2DA6-2BC0-44c0-B3F6-4EC22E647964),
- helpstring("Google Update IProcessLauncher Interface"),
- pointer_default(unique)
- ]
- interface IProcessLauncher : IUnknown {
- // @param cmd_line The full command line to execute.
- HRESULT LaunchCmdLine([in, string] const WCHAR* cmd_line);
- // @param browser_type The browser to start.
- // @param url The url to launch the browser with.
- HRESULT LaunchBrowser([in] DWORD browser_type,
- [in, string] const WCHAR* url);
- // @param app_id Unique id to identify the calling client application
- // @param event_id Unique id for the command
- // @param caller_proc_id The process id of the calling process
- // @param proc_handle The process handle valid in the caller's context
- HRESULT LaunchCmdElevated([in, string] const WCHAR* app_guid,
- [in, string] const WCHAR* cmd_id,
- [in] DWORD caller_proc_id,
- [out] ULONG_PTR* proc_handle);
- };
- [
- object,
- oleautomation,
- uuid(D106AB5F-A70E-400E-A21B-96208C1D8DBB),
- helpstring("Google Update IProcessLauncher2 Interface"),
- pointer_default(unique)
- ]
- interface IProcessLauncher2 : IProcessLauncher {
- // Launches the command line, returning the COM server's process ID and
- // handles to the launched process and its stdout. The caller is responsible
- // for closing the returned handles (by passing DUPLICATE_CLOSE_SOURCE to
- // DuplicateHandle, for instance).
- // @param cmd_line The full command line to execute.
- // @param server_proc_id The process id of the IProcessLauncher2 COM server.
- // @param proc_handle The process handle valid in the server's context
- // @param stdout_handle The child process's stdout handle valid in the
- // server's context.
- HRESULT LaunchCmdLineEx([in, string] const WCHAR* cmd_line,
- [out] DWORD* server_proc_id,
- [out] ULONG_PTR* proc_handle,
- [out] ULONG_PTR* stdout_handle);
- };
- typedef enum {
- COMPLETION_CODE_SUCCESS = 1,
- COMPLETION_CODE_SUCCESS_CLOSE_UI,
- COMPLETION_CODE_ERROR,
- COMPLETION_CODE_RESTART_ALL_BROWSERS,
- COMPLETION_CODE_REBOOT,
- COMPLETION_CODE_RESTART_BROWSER,
- COMPLETION_CODE_RESTART_ALL_BROWSERS_NOTICE_ONLY,
- COMPLETION_CODE_REBOOT_NOTICE_ONLY,
- COMPLETION_CODE_RESTART_BROWSER_NOTICE_ONLY,
- COMPLETION_CODE_RUN_COMMAND,
- } LegacyCompletionCodes;
- [
- object,
- oleautomation,
- uuid(1C642CED-CA3B-4013-A9DF-CA6CE5FF6503),
- helpstring("GoogleUpdate UI-specific events Interface"),
- pointer_default(unique)
- ]
- interface IProgressWndEvents : IUnknown {
- // The UI is closing down. The user has clicked on either the "X" or the
- // other buttons of the UI to close the window.
- HRESULT DoClose();
- // Pause has been clicked on.
- HRESULT DoPause();
- // Resume has been clicked on.
- HRESULT DoResume();
- // RestartBrowsers button has been clicked on.
- HRESULT DoRestartBrowsers();
- // Reboot button has been clicked on.
- HRESULT DoReboot();
- // Launch Browser.
- HRESULT DoLaunchBrowser([in, string] const WCHAR* url);
- };
- [
- object,
- oleautomation,
- uuid(49D7563B-2DDB-4831-88C8-768A53833837),
- helpstring("IJobObserver Interface"),
- pointer_default(unique)
- ]
- interface IJobObserver : IUnknown {
- HRESULT OnShow();
- HRESULT OnCheckingForUpdate();
- HRESULT OnUpdateAvailable([in, string] const WCHAR* version_string);
- HRESULT OnWaitingToDownload();
- HRESULT OnDownloading([in] int time_remaining_ms, [in] int pos);
- HRESULT OnWaitingToInstall();
- HRESULT OnInstalling();
- HRESULT OnPause();
- HRESULT OnComplete([in] LegacyCompletionCodes code,
- [in, string] const WCHAR* completion_text);
- HRESULT SetEventSink([in] IProgressWndEvents* ui_sink);
- };
- [
- object,
- oleautomation,
- uuid(19692F10-ADD2-4EFF-BE54-E61C62E40D13),
- helpstring("IJobObserver2 Interface"),
- pointer_default(unique)
- ]
- interface IJobObserver2 : IUnknown {
- // @param time_remaining_ms Remaining install time.
- // @param pos Current install progress in percentage from 0 to 100. -1
- // indicates unknown.
- HRESULT OnInstalling2([in] int time_remaining_ms, [in] int pos);
- };
- [
- object,
- oleautomation,
- uuid(31AC3F11-E5EA-4a85-8A3D-8E095A39C27B),
- helpstring("IGoogleUpdate Interface"),
- pointer_default(unique)
- ]
- interface IGoogleUpdate : IUnknown {
- // @param guid The guid for the app to be updated.
- // @param observer The eventing interface.
- HRESULT CheckForUpdate([in, string] const WCHAR* guid,
- [in] IJobObserver* observer);
- // @param guid The guid for the app to be updated.
- // @param observer The eventing interface.
- HRESULT Update([in, string] const WCHAR* guid,
- [in] IJobObserver* observer);
- };
- // IGoogleUpdateCore is an internal Omaha interface.
- [
- object,
- oleautomation,
- uuid(909489C2-85A6-4322-AA56-D25278649D67),
- helpstring("Google Update Core Interface"),
- pointer_default(unique)
- ]
- interface IGoogleUpdateCore : IUnknown
- {
- // Runs a command elevated.
- //
- // @param app_id Unique id to identify the calling client application
- // @param event_id Unique id for the command
- // @param caller_proc_id The process id of the calling process
- // @param proc_handle The process handle valid in the caller's context
- HRESULT LaunchCmdElevated([in, string] const WCHAR* app_guid,
- [in, string] const WCHAR* cmd_id,
- [in] DWORD caller_proc_id,
- [out] ULONG_PTR* proc_handle);
- };
- // END Legacy google_update_idl interfaces.
- [
- uuid(655DD85A-3C0D-4674-9C58-AF7168C5861E),
- version(1.0),
- helpstring("Google Update 3.0 Type Library")
- ]
- library GoogleUpdate3Lib {
- importlib("stdole2.tlb");
- // These Interfaces are forward declared to ensure that they are described in
- // the generated TLB file. This is required for ATL to correctly implement the
- // corresponding IDispatch interfaces.
- interface IGoogleUpdate3;
- interface IAppBundle;
- interface IApp;
- interface IApp2;
- interface IAppCommand;
- interface IAppCommand2;
- interface IAppVersion;
- interface IPackage;
- interface ICurrentState;
- interface IPolicyStatus;
- interface IPolicyStatus2;
- interface IPolicyStatusValue;
- interface IGoogleUpdate3Web;
- interface IAppBundleWeb;
- interface IAppWeb;
- interface IAppCommandWeb;
- interface IAppVersionWeb;
- interface ICoCreateAsyncStatus;
- [
- uuid(022105BD-948A-40c9-AB42-A3300DDF097F),
- helpstring("GoogleUpdate3 Class for per-user applications")
- ]
- coclass GoogleUpdate3UserClass {
- [default] interface IDispatch;
- }
- [
- uuid(4EB61BAC-A3B6-4760-9581-655041EF4D69),
- helpstring("GoogleUpdate3 Service Class for machine applications")
- ]
- coclass GoogleUpdate3ServiceClass {
- [default] interface IDispatch;
- }
- [
- uuid(22181302-A8A6-4f84-A541-E5CBFC70CC43),
- helpstring("GoogleUpdate3Web for user applications")
- ]
- coclass GoogleUpdate3WebUserClass {
- [default] interface IDispatch;
- }
- [
- uuid(8A1D4361-2C08-4700-A351-3EAA9CBFF5E4),
- helpstring("Pass-through broker for the GoogleUpdate3WebServiceClass")
- ]
- coclass GoogleUpdate3WebMachineClass {
- [default] interface IDispatch;
- }
- [
- uuid(534F5323-3569-4f42-919D-1E1CF93E5BF6),
- helpstring("GoogleUpdate3Web")
- ]
- coclass GoogleUpdate3WebServiceClass {
- [default] interface IDispatch;
- }
- [
- uuid(598FE0E5-E02D-465d-9A9D-37974A28FD42),
- helpstring("Fallback mechanism if GoogleUpdate3WebServiceClass fails")
- ]
- coclass GoogleUpdate3WebMachineFallbackClass {
- [default] interface IDispatch;
- }
- [
- uuid(E8CF3E55-F919-49d9-ABC0-948E6CB34B9F),
- helpstring("CurrentStateUserClass")
- ]
- coclass CurrentStateUserClass {
- [default] interface ICurrentState;
- }
- [
- uuid(9D6AA569-9F30-41ad-885A-346685C74928),
- helpstring("CurrentStateMachineClass")
- ]
- coclass CurrentStateMachineClass {
- [default] interface ICurrentState;
- }
- [
- uuid(7DE94008-8AFD-4c70-9728-C6FBFFF6A73E),
- helpstring("CoCreateAsyncClass")
- ]
- coclass CoCreateAsyncClass {
- [default] interface IUnknown;
- }
- [
- uuid(e67be843-bbbe-4484-95fb-05271ae86750),
- helpstring("CredentialDialogUserClass")
- ]
- coclass CredentialDialogUserClass {
- [default] interface IUnknown;
- }
- [
- uuid(25461599-633d-42b1-84fb-7cd68d026e53),
- helpstring("CredentialDialogMachineClass")
- ]
- coclass CredentialDialogMachineClass {
- [default] interface IUnknown;
- }
- [
- uuid(85D8EE2F-794F-41F0-BB03-49D56A23BEF4),
- helpstring("PolicyStatusValueUserClass")
- ]
- coclass PolicyStatusValueUserClass {
- [default] interface IUnknown;
- }
- [
- uuid(C6271107-A214-4F11-98C0-3F16BC670D28),
- helpstring("PolicyStatusValueMachineClass")
- ]
- coclass PolicyStatusValueMachineClass {
- [default] interface IUnknown;
- }
- [
- uuid(6DDCE70D-A4AE-4E97-908C-BE7B2DB750AD),
- helpstring("Policy Status for per-user applications.")
- ]
- coclass PolicyStatusUserClass {
- [default] interface IUnknown;
- }
- [
- uuid(521FDB42-7130-4806-822A-FC5163FAD983),
- helpstring("Policy Status pass-through broker for machine applications.")
- ]
- coclass PolicyStatusMachineClass {
- [default] interface IUnknown;
- }
- [
- uuid(1C4CDEFF-756A-4804-9E77-3E8EB9361016),
- helpstring("Policy Status for per-machine applications.")
- ]
- coclass PolicyStatusMachineServiceClass {
- [default] interface IUnknown;
- }
- [
- uuid(ADDF22CF-3E9B-4CD7-9139-8169EA6636E4),
- helpstring("Fallback for if PolicyStatusMachineServiceClass fails.")
- ]
- coclass PolicyStatusMachineFallbackClass {
- [default] interface IUnknown;
- }
- [
- uuid(02B24573-5230-485A-8787-AD56B20E8ADB),
- helpstring("GoogleComProxyMachineClass")
- ]
- coclass GoogleComProxyMachineClass {
- [default] interface IUnknown;
- }
- [
- uuid(D89179AA-B869-4491-AC5F-615D2B10696E),
- helpstring("GoogleComProxyUserClass")
- ]
- coclass GoogleComProxyUserClass {
- [default] interface IUnknown;
- }
- // BEGIN Legacy google_update_idl coclasses.
- [
- uuid(ABC01078-F197-4b0b-ADBC-CFE684B39C82),
- helpstring("ProcessLauncherClass Class")
- ]
- coclass ProcessLauncherClass {
- [default] interface IUnknown;
- }
- [
- uuid(2F0E2680-9FF5-43c0-B76E-114A56E93598),
- helpstring("OnDemand updates for per-user applications.")
- ]
- coclass OnDemandUserAppsClass {
- [default] interface IUnknown;
- }
- [
- uuid(6F8BD55B-E83D-4a47-85BE-81FFA8057A69),
- helpstring("OnDemand pass-through broker for machine applications.")
- ]
- coclass OnDemandMachineAppsClass {
- [default] interface IUnknown;
- }
- [
- uuid(9465B4B4-5216-4042-9A2C-754D3BCDC410),
- helpstring("OnDemand updates for per-machine applications.")
- ]
- coclass OnDemandMachineAppsServiceClass {
- [default] interface IUnknown;
- }
- [
- uuid(B3D28DBD-0DFA-40e4-8071-520767BADC7E),
- helpstring("Fallback for if OnDemandMachineAppsServiceClass fails.")
- ]
- coclass OnDemandMachineAppsFallbackClass {
- [default] interface IUnknown;
- }
- [
- uuid(E225E692-4B47-4777-9BED-4FD7FE257F0E),
- helpstring("GoogleUpdateCore Class")
- ]
- coclass GoogleUpdateCoreClass
- {
- [default] interface IUnknown;
- }
- [
- uuid(9B2340A0-4068-43d6-B404-32E27217859D),
- helpstring("GoogleUpdateCore Machine Class")
- ]
- coclass GoogleUpdateCoreMachineClass
- {
- [default] interface IUnknown;
- }
- // END Legacy google_update_idl coclasses.
- };
|