text: 
  
  /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  
  
   /* File created by MIDL compiler version 8.xx.xxxx */
  /* at a redacted point in time
   */
  /* Compiler settings for ../../chrome/updater/server/win/updater_idl.idl:
      Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 
      protocol : dce , ms_ext, c_ext, robust
      error checks: allocation ref bounds_check enum stub_data 
      VC __declspec() decoration level: 
           __declspec(uuid()), __declspec(selectany), __declspec(novtable)
           DECLSPEC_UUID(), MIDL_INTERFACE()
  */
  /* @@MIDL_FILE_HEADING(  ) */
  
  #pragma warning( disable: 4049 )  /* more than 64k source lines */
  
  
  /* verify that the <rpcndr.h> version is high enough to compile this file*/
  #ifndef __REQUIRED_RPCNDR_H_VERSION__
  #define __REQUIRED_RPCNDR_H_VERSION__ 475
  #endif
  
  #include "rpc.h"
  #include "rpcndr.h"
  
  #ifndef __RPCNDR_H_VERSION__
  #error this stub requires an updated version of <rpcndr.h>
  #endif /* __RPCNDR_H_VERSION__ */
  
  #ifndef COM_NO_WINDOWS_H
  #include "windows.h"
  #include "ole2.h"
  #endif /*COM_NO_WINDOWS_H*/
  
  #ifndef __updater_idl_h__
  #define __updater_idl_h__
  
  #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  #pragma once
  #endif
  
  /* Forward Declarations */ 
  
  #ifndef __ICurrentState_FWD_DEFINED__
  #define __ICurrentState_FWD_DEFINED__
  typedef interface ICurrentState ICurrentState;
  
  #endif 	/* __ICurrentState_FWD_DEFINED__ */
  
  
  #ifndef __IGoogleUpdate3Web_FWD_DEFINED__
  #define __IGoogleUpdate3Web_FWD_DEFINED__
  typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;
  
  #endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */
  
  
  #ifndef __IAppBundleWeb_FWD_DEFINED__
  #define __IAppBundleWeb_FWD_DEFINED__
  typedef interface IAppBundleWeb IAppBundleWeb;
  
  #endif 	/* __IAppBundleWeb_FWD_DEFINED__ */
  
  
  #ifndef __IAppWeb_FWD_DEFINED__
  #define __IAppWeb_FWD_DEFINED__
  typedef interface IAppWeb IAppWeb;
  
  #endif 	/* __IAppWeb_FWD_DEFINED__ */
  
  
  #ifndef __ICompleteStatus_FWD_DEFINED__
  #define __ICompleteStatus_FWD_DEFINED__
  typedef interface ICompleteStatus ICompleteStatus;
  
  #endif 	/* __ICompleteStatus_FWD_DEFINED__ */
  
  
  #ifndef __IUpdaterObserver_FWD_DEFINED__
  #define __IUpdaterObserver_FWD_DEFINED__
  typedef interface IUpdaterObserver IUpdaterObserver;
  
  #endif 	/* __IUpdaterObserver_FWD_DEFINED__ */
  
  
  #ifndef __IUpdater_FWD_DEFINED__
  #define __IUpdater_FWD_DEFINED__
  typedef interface IUpdater IUpdater;
  
  #endif 	/* __IUpdater_FWD_DEFINED__ */
  
  
  #ifndef __IUpdater_FWD_DEFINED__
  #define __IUpdater_FWD_DEFINED__
  typedef interface IUpdater IUpdater;
  
  #endif 	/* __IUpdater_FWD_DEFINED__ */
  
  
  #ifndef __ICurrentState_FWD_DEFINED__
  #define __ICurrentState_FWD_DEFINED__
  typedef interface ICurrentState ICurrentState;
  
  #endif 	/* __ICurrentState_FWD_DEFINED__ */
  
  
  #ifndef __IGoogleUpdate3Web_FWD_DEFINED__
  #define __IGoogleUpdate3Web_FWD_DEFINED__
  typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;
  
  #endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */
  
  
  #ifndef __IAppBundleWeb_FWD_DEFINED__
  #define __IAppBundleWeb_FWD_DEFINED__
  typedef interface IAppBundleWeb IAppBundleWeb;
  
  #endif 	/* __IAppBundleWeb_FWD_DEFINED__ */
  
  
  #ifndef __IAppWeb_FWD_DEFINED__
  #define __IAppWeb_FWD_DEFINED__
  typedef interface IAppWeb IAppWeb;
  
  #endif 	/* __IAppWeb_FWD_DEFINED__ */
  
  
  #ifndef __UpdaterClass_FWD_DEFINED__
  #define __UpdaterClass_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class UpdaterClass UpdaterClass;
  #else
  typedef struct UpdaterClass UpdaterClass;
  #endif /* __cplusplus */
  
  #endif 	/* __UpdaterClass_FWD_DEFINED__ */
  
  
  #ifndef __UpdaterServiceClass_FWD_DEFINED__
  #define __UpdaterServiceClass_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class UpdaterServiceClass UpdaterServiceClass;
  #else
  typedef struct UpdaterServiceClass UpdaterServiceClass;
  #endif /* __cplusplus */
  
  #endif 	/* __UpdaterServiceClass_FWD_DEFINED__ */
  
  
  #ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__
  #define __GoogleUpdate3WebUserClass_FWD_DEFINED__
  
  #ifdef __cplusplus
  typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;
  #else
  typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;
  #endif /* __cplusplus */
  
  #endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */
  
  
  /* header files for imported files */
  #include "oaidl.h"
  #include "ocidl.h"
  
  #ifdef __cplusplus
  extern "C"{
  #endif 
  
  
  /* interface __MIDL_itf_updater_idl_0000_0000 */
  /* [local] */ 
  
  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,
          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;
  
  
  
  extern RPC_IF_HANDLE __MIDL_itf_updater_idl_0000_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_updater_idl_0000_0000_v0_0_s_ifspec;
  
  #ifndef __ICurrentState_INTERFACE_DEFINED__
  #define __ICurrentState_INTERFACE_DEFINED__
  
  /* interface ICurrentState */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_ICurrentState;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("247954F9-9EDC-4E68-8CC3-150C2B89EADF")
      ICurrentState : public IDispatch
      {
      public:
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 
              /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 
              /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 
              /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 
              /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 
              /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ICurrentStateVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              ICurrentState * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              ICurrentState * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              ICurrentState * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              ICurrentState * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              ICurrentState * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              ICurrentState * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [range][in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              ICurrentState * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0000);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 
              ICurrentState * This,
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 
              ICurrentState * This,
              /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 
              ICurrentState * This,
              /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0004);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 
              ICurrentState * This,
              /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0006);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0007);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 
              ICurrentState * This,
              /* [retval][out] */ VARIANT_BOOL *is_canceled);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0008);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0009);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 
              ICurrentState * This,
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0011);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0012);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 
              ICurrentState * This,
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 
              ICurrentState * This,
              /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 
              ICurrentState * This,
              /* [retval][out] */ LONG *__MIDL__ICurrentState0015);
          
          END_INTERFACE
      } ICurrentStateVtbl;
  
      interface ICurrentState
      {
          CONST_VTBL struct ICurrentStateVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ICurrentState_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ICurrentState_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ICurrentState_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ICurrentState_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\
      ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 
  
  #define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\
      ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 
  
  #define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\
      ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 
  
  #define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\
      ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 
  
  #define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\
      ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 
  
  #define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\
      ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 
  
  #define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\
      ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 
  
  #define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\
      ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 
  
  #define ICurrentState_get_isCanceled(This,is_canceled)	\
      ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 
  
  #define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\
      ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 
  
  #define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\
      ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 
  
  #define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\
      ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 
  
  #define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\
      ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 
  
  #define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\
      ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 
  
  #define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\
      ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 
  
  #define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\
      ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 
  
  #define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\
      ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ICurrentState_INTERFACE_DEFINED__ */
  
  
  #ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__
  #define __IGoogleUpdate3Web_INTERFACE_DEFINED__
  
  /* interface IGoogleUpdate3Web */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_IGoogleUpdate3Web;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("494B20CF-282E-4BDD-9F5D-B70CB09D351E")
      IGoogleUpdate3Web : public IDispatch
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 
              /* [retval][out] */ IDispatch **app_bundle_web) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IGoogleUpdate3WebVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IGoogleUpdate3Web * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IGoogleUpdate3Web * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IGoogleUpdate3Web * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              IGoogleUpdate3Web * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              IGoogleUpdate3Web * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              IGoogleUpdate3Web * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [range][in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              IGoogleUpdate3Web * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 
              IGoogleUpdate3Web * This,
              /* [retval][out] */ IDispatch **app_bundle_web);
          
          END_INTERFACE
      } IGoogleUpdate3WebVtbl;
  
      interface IGoogleUpdate3Web
      {
          CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IGoogleUpdate3Web_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IGoogleUpdate3Web_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\
      ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */
  
  
  #ifndef __IAppBundleWeb_INTERFACE_DEFINED__
  #define __IAppBundleWeb_INTERFACE_DEFINED__
  
  /* interface IAppBundleWeb */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_IAppBundleWeb;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("DD42475D-6D46-496a-924E-BD5630B4CBBA")
      IAppBundleWeb : public IDispatch
      {
      public:
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 
              /* [in] */ BSTR app_guid,
              /* [in] */ BSTR brand_code,
              /* [in] */ BSTR language,
              /* [in] */ BSTR ap) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 
              /* [in] */ BSTR app_id) = 0;
          
          virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 
              /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;
          
          virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 
              /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;
          
          virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 
              /* [in] */ ULONG_PTR hwnd) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 
              /* [retval][out] */ int *index) = 0;
          
          virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 
              /* [in] */ int index,
              /* [retval][out] */ IDispatch **app_web) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE download( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE install( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE downloadPackage( 
              /* [in] */ BSTR app_id,
              /* [in] */ BSTR package_name) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 
              /* [retval][out] */ VARIANT *current_state) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IAppBundleWebVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IAppBundleWeb * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IAppBundleWeb * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              IAppBundleWeb * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              IAppBundleWeb * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              IAppBundleWeb * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [range][in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              IAppBundleWeb * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 
              IAppBundleWeb * This,
              /* [in] */ BSTR app_guid,
              /* [in] */ BSTR brand_code,
              /* [in] */ BSTR language,
              /* [in] */ BSTR ap);
          
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 
              IAppBundleWeb * This,
              /* [in] */ BSTR app_id);
          
          /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 
              IAppBundleWeb * This);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 
              IAppBundleWeb * This,
              /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);
          
          /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 
              IAppBundleWeb * This,
              /* [in] */ BSTR __MIDL__IAppBundleWeb0001);
          
          /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 
              IAppBundleWeb * This,
              /* [in] */ ULONG_PTR hwnd);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
              IAppBundleWeb * This,
              /* [retval][out] */ int *index);
          
          /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 
              IAppBundleWeb * This,
              /* [in] */ int index,
              /* [retval][out] */ IDispatch **app_web);
          
          HRESULT ( STDMETHODCALLTYPE *initialize )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *download )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *install )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *pause )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *resume )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *cancel )( 
              IAppBundleWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 
              IAppBundleWeb * This,
              /* [in] */ BSTR app_id,
              /* [in] */ BSTR package_name);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 
              IAppBundleWeb * This,
              /* [retval][out] */ VARIANT *current_state);
          
          END_INTERFACE
      } IAppBundleWebVtbl;
  
      interface IAppBundleWeb
      {
          CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IAppBundleWeb_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IAppBundleWeb_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\
      ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 
  
  #define IAppBundleWeb_createInstalledApp(This,app_id)	\
      ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 
  
  #define IAppBundleWeb_createAllInstalledApps(This)	\
      ( (This)->lpVtbl -> createAllInstalledApps(This) ) 
  
  #define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\
      ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 
  
  #define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\
      ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 
  
  #define IAppBundleWeb_put_parentHWND(This,hwnd)	\
      ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 
  
  #define IAppBundleWeb_get_length(This,index)	\
      ( (This)->lpVtbl -> get_length(This,index) ) 
  
  #define IAppBundleWeb_get_appWeb(This,index,app_web)	\
      ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 
  
  #define IAppBundleWeb_initialize(This)	\
      ( (This)->lpVtbl -> initialize(This) ) 
  
  #define IAppBundleWeb_checkForUpdate(This)	\
      ( (This)->lpVtbl -> checkForUpdate(This) ) 
  
  #define IAppBundleWeb_download(This)	\
      ( (This)->lpVtbl -> download(This) ) 
  
  #define IAppBundleWeb_install(This)	\
      ( (This)->lpVtbl -> install(This) ) 
  
  #define IAppBundleWeb_pause(This)	\
      ( (This)->lpVtbl -> pause(This) ) 
  
  #define IAppBundleWeb_resume(This)	\
      ( (This)->lpVtbl -> resume(This) ) 
  
  #define IAppBundleWeb_cancel(This)	\
      ( (This)->lpVtbl -> cancel(This) ) 
  
  #define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\
      ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 
  
  #define IAppBundleWeb_get_currentState(This,current_state)	\
      ( (This)->lpVtbl -> get_currentState(This,current_state) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */
  
  
  #ifndef __IAppWeb_INTERFACE_DEFINED__
  #define __IAppWeb_INTERFACE_DEFINED__
  
  /* interface IAppWeb */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_IAppWeb;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("18D0F672-18B4-48e6-AD36-6E6BF01DBBC4")
      IAppWeb : public IDispatch
      {
      public:
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 
              /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 
              /* [retval][out] */ IDispatch **current) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 
              /* [retval][out] */ IDispatch **next) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 
              /* [in] */ BSTR command_id,
              /* [retval][out] */ IDispatch **command) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 
              /* [retval][out] */ IDispatch **current_state) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 
              /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;
          
          virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 
              /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IAppWebVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IAppWeb * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IAppWeb * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IAppWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
              IAppWeb * This,
              /* [out] */ UINT *pctinfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
              IAppWeb * This,
              /* [in] */ UINT iTInfo,
              /* [in] */ LCID lcid,
              /* [out] */ ITypeInfo **ppTInfo);
          
          HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
              IAppWeb * This,
              /* [in] */ REFIID riid,
              /* [size_is][in] */ LPOLESTR *rgszNames,
              /* [range][in] */ UINT cNames,
              /* [in] */ LCID lcid,
              /* [size_is][out] */ DISPID *rgDispId);
          
          /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
              IAppWeb * This,
              /* [annotation][in] */ 
              _In_  DISPID dispIdMember,
              /* [annotation][in] */ 
              _In_  REFIID riid,
              /* [annotation][in] */ 
              _In_  LCID lcid,
              /* [annotation][in] */ 
              _In_  WORD wFlags,
              /* [annotation][out][in] */ 
              _In_  DISPPARAMS *pDispParams,
              /* [annotation][out] */ 
              _Out_opt_  VARIANT *pVarResult,
              /* [annotation][out] */ 
              _Out_opt_  EXCEPINFO *pExcepInfo,
              /* [annotation][out] */ 
              _Out_opt_  UINT *puArgErr);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 
              IAppWeb * This,
              /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 
              IAppWeb * This,
              /* [retval][out] */ IDispatch **current);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 
              IAppWeb * This,
              /* [retval][out] */ IDispatch **next);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 
              IAppWeb * This,
              /* [in] */ BSTR command_id,
              /* [retval][out] */ IDispatch **command);
          
          HRESULT ( STDMETHODCALLTYPE *cancel )( 
              IAppWeb * This);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 
              IAppWeb * This,
              /* [retval][out] */ IDispatch **current_state);
          
          HRESULT ( STDMETHODCALLTYPE *launch )( 
              IAppWeb * This);
          
          HRESULT ( STDMETHODCALLTYPE *uninstall )( 
              IAppWeb * This);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 
              IAppWeb * This,
              /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);
          
          /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 
              IAppWeb * This,
              /* [in] */ BSTR __MIDL__IAppWeb0002);
          
          END_INTERFACE
      } IAppWebVtbl;
  
      interface IAppWeb
      {
          CONST_VTBL struct IAppWebVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IAppWeb_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IAppWeb_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IAppWeb_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IAppWeb_GetTypeInfoCount(This,pctinfo)	\
      ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 
  
  #define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
      ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 
  
  #define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
      ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 
  
  #define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
      ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 
  
  
  #define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\
      ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 
  
  #define IAppWeb_get_currentVersionWeb(This,current)	\
      ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 
  
  #define IAppWeb_get_nextVersionWeb(This,next)	\
      ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 
  
  #define IAppWeb_get_command(This,command_id,command)	\
      ( (This)->lpVtbl -> get_command(This,command_id,command) ) 
  
  #define IAppWeb_cancel(This)	\
      ( (This)->lpVtbl -> cancel(This) ) 
  
  #define IAppWeb_get_currentState(This,current_state)	\
      ( (This)->lpVtbl -> get_currentState(This,current_state) ) 
  
  #define IAppWeb_launch(This)	\
      ( (This)->lpVtbl -> launch(This) ) 
  
  #define IAppWeb_uninstall(This)	\
      ( (This)->lpVtbl -> uninstall(This) ) 
  
  #define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\
      ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 
  
  #define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\
      ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IAppWeb_INTERFACE_DEFINED__ */
  
  
  #ifndef __ICompleteStatus_INTERFACE_DEFINED__
  #define __ICompleteStatus_INTERFACE_DEFINED__
  
  /* interface ICompleteStatus */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_ICompleteStatus;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")
      ICompleteStatus : public IUnknown
      {
      public:
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 
              /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;
          
          virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 
              /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct ICompleteStatusVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              ICompleteStatus * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              ICompleteStatus * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              ICompleteStatus * This);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 
              ICompleteStatus * This,
              /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);
          
          /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 
              ICompleteStatus * This,
              /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);
          
          END_INTERFACE
      } ICompleteStatusVtbl;
  
      interface ICompleteStatus
      {
          CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define ICompleteStatus_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define ICompleteStatus_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\
      ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 
  
  #define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\
      ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */
  
  
  #ifndef __IUpdaterObserver_INTERFACE_DEFINED__
  #define __IUpdaterObserver_INTERFACE_DEFINED__
  
  /* interface IUpdaterObserver */
  /* [unique][helpstring][uuid][oleautomation][object] */ 
  
  
  EXTERN_C const IID IID_IUpdaterObserver;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")
      IUpdaterObserver : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE OnComplete( 
              /* [in] */ ICompleteStatus *status) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IUpdaterObserverVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IUpdaterObserver * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IUpdaterObserver * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IUpdaterObserver * This);
          
          HRESULT ( STDMETHODCALLTYPE *OnComplete )( 
              IUpdaterObserver * This,
              /* [in] */ ICompleteStatus *status);
          
          END_INTERFACE
      } IUpdaterObserverVtbl;
  
      interface IUpdaterObserver
      {
          CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IUpdaterObserver_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IUpdaterObserver_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IUpdaterObserver_OnComplete(This,status)	\
      ( (This)->lpVtbl -> OnComplete(This,status) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */
  
  
  #ifndef __IUpdater_INTERFACE_DEFINED__
  #define __IUpdater_INTERFACE_DEFINED__
  
  /* interface IUpdater */
  /* [unique][helpstring][uuid][dual][object] */ 
  
  
  EXTERN_C const IID IID_IUpdater;
  
  #if defined(__cplusplus) && !defined(CINTERFACE)
      
      MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")
      IUpdater : public IUnknown
      {
      public:
          virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 
              /* [string][in] */ const WCHAR *app_id) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Register( 
              /* [string][in] */ const WCHAR *app_id,
              /* [string][in] */ const WCHAR *brand_code,
              /* [string][in] */ const WCHAR *tag,
              /* [string][in] */ const WCHAR *version,
              /* [string][in] */ const WCHAR *existence_checker_path) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE Update( 
              /* [string][in] */ const WCHAR *app_id,
              /* [in] */ IUpdaterObserver *observer) = 0;
          
          virtual HRESULT STDMETHODCALLTYPE UpdateAll( 
              /* [in] */ IUpdaterObserver *observer) = 0;
          
      };
      
      
  #else 	/* C style interface */
  
      typedef struct IUpdaterVtbl
      {
          BEGIN_INTERFACE
          
          HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
              IUpdater * This,
              /* [in] */ REFIID riid,
              /* [annotation][iid_is][out] */ 
              _COM_Outptr_  void **ppvObject);
          
          ULONG ( STDMETHODCALLTYPE *AddRef )( 
              IUpdater * This);
          
          ULONG ( STDMETHODCALLTYPE *Release )( 
              IUpdater * This);
          
          HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 
              IUpdater * This,
              /* [string][in] */ const WCHAR *app_id);
          
          HRESULT ( STDMETHODCALLTYPE *Register )( 
              IUpdater * This,
              /* [string][in] */ const WCHAR *app_id,
              /* [string][in] */ const WCHAR *brand_code,
              /* [string][in] */ const WCHAR *tag,
              /* [string][in] */ const WCHAR *version,
              /* [string][in] */ const WCHAR *existence_checker_path);
          
          HRESULT ( STDMETHODCALLTYPE *Update )( 
              IUpdater * This,
              /* [string][in] */ const WCHAR *app_id,
              /* [in] */ IUpdaterObserver *observer);
          
          HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 
              IUpdater * This,
              /* [in] */ IUpdaterObserver *observer);
          
          END_INTERFACE
      } IUpdaterVtbl;
  
      interface IUpdater
      {
          CONST_VTBL struct IUpdaterVtbl *lpVtbl;
      };
  
      
  
  #ifdef COBJMACROS
  
  
  #define IUpdater_QueryInterface(This,riid,ppvObject)	\
      ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  
  #define IUpdater_AddRef(This)	\
      ( (This)->lpVtbl -> AddRef(This) ) 
  
  #define IUpdater_Release(This)	\
      ( (This)->lpVtbl -> Release(This) ) 
  
  
  #define IUpdater_CheckForUpdate(This,app_id)	\
      ( (This)->lpVtbl -> CheckForUpdate(This,app_id) ) 
  
  #define IUpdater_Register(This,app_id,brand_code,tag,version,existence_checker_path)	\
      ( (This)->lpVtbl -> Register(This,app_id,brand_code,tag,version,existence_checker_path) ) 
  
  #define IUpdater_Update(This,app_id,observer)	\
      ( (This)->lpVtbl -> Update(This,app_id,observer) ) 
  
  #define IUpdater_UpdateAll(This,observer)	\
      ( (This)->lpVtbl -> UpdateAll(This,observer) ) 
  
  #endif /* COBJMACROS */
  
  
  #endif 	/* C style interface */
  
  
  
  
  #endif 	/* __IUpdater_INTERFACE_DEFINED__ */
  
  
  
  #ifndef __UpdaterLib_LIBRARY_DEFINED__
  #define __UpdaterLib_LIBRARY_DEFINED__
  
  /* library UpdaterLib */
  /* [helpstring][version][uuid] */ 
  
  
  
  
  
  
  
  EXTERN_C const IID LIBID_UpdaterLib;
  
  EXTERN_C const CLSID CLSID_UpdaterClass;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("158428A4-6014-4978-83BA-9FAD0DABE791")
  UpdaterClass;
  #endif
  
  EXTERN_C const CLSID CLSID_UpdaterServiceClass;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("415FD747-D79E-42D7-93AC-1BA6E5FD4E93")
  UpdaterServiceClass;
  #endif
  
  EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;
  
  #ifdef __cplusplus
  
  class DECLSPEC_UUID("22181302-A8A6-4f84-A541-E5CBFC70CC43")
  GoogleUpdate3WebUserClass;
  #endif
  #endif /* __UpdaterLib_LIBRARY_DEFINED__ */
  
  /* Additional Prototypes for ALL interfaces */
  
  unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  
  unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  
  /* end of Additional Prototypes */
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  
  
  