Add google_update to the repository.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
1
google_update/README.google
Normal file
1
google_update/README.google
Normal file
@ -0,0 +1 @@
|
||||
This IDL was provided by the Google Update team so that we could use the new On-Demand checking for updates.
|
32
google_update/SConscript
Normal file
32
google_update/SConscript
Normal file
@ -0,0 +1,32 @@
|
||||
# Copyright 2008, Google Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are
|
||||
# met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the following disclaimer
|
||||
# in the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# * Neither the name of Google Inc. nor the names of its
|
||||
# contributors may be used to endorse or promote products derived from
|
||||
# this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Import('env')
|
||||
|
||||
env.TypeLibrary('google_update_idl')
|
171
google_update/google_update_idl.idl
Normal file
171
google_update/google_update_idl.idl
Normal file
@ -0,0 +1,171 @@
|
||||
// Copyright 2006 Google Inc. All Rights Reserved.
|
||||
//
|
||||
// Author: Vivek Rao - vivekrao@google.com
|
||||
|
||||
import "oaidl.idl";
|
||||
import "ocidl.idl";
|
||||
|
||||
[
|
||||
object,
|
||||
uuid(8905383F-CD19-4160-8DA0-55FDCFE34F4A),
|
||||
oleautomation,
|
||||
nonextensible,
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IBrowserHttpRequest : 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://go/queryinfoflags
|
||||
// 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(738B2CC4-F187-48e2-A7A7-C1F0A464C8BE),
|
||||
helpstring("Google Update IBrowserLauncher Interface"),
|
||||
pointer_default(unique)
|
||||
]
|
||||
interface IBrowserLauncher : IUnknown {
|
||||
// @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);
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
COMPLETION_CODE_SUCCESS = 1,
|
||||
COMPLETION_CODE_SUCCESS_CLOSE_UI,
|
||||
COMPLETION_CODE_ERROR,
|
||||
COMPLETION_CODE_RESTART_BROWSERS,
|
||||
COMPLETION_CODE_REBOOT,
|
||||
} CompletionCodes;
|
||||
|
||||
[
|
||||
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] CompletionCodes code, [in, string] const WCHAR* text);
|
||||
HRESULT SetEventSink([in] IProgressWndEvents* ui_sink);
|
||||
};
|
||||
|
||||
// TODO(ganesh): Component story.
|
||||
// TODO(ganesh): Should CheckForUpdate be synchronous? We can avoid the
|
||||
// observer. However, it may block the UI.
|
||||
// TODO(ganesh): On-Demand Installs.
|
||||
[
|
||||
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);
|
||||
};
|
||||
|
||||
[
|
||||
uuid(7E6CD20B-8688-4960-96D9-B979471577B8),
|
||||
version(1.0),
|
||||
helpstring("Google Update Browser Launcher 1.0 Type Library")
|
||||
]
|
||||
library GoogleUpdateLib {
|
||||
importlib("stdole2.tlb");
|
||||
[
|
||||
uuid(D21E601A-3017-4d61-9315-F2880EBD196F),
|
||||
helpstring("BrowserLauncherClass Class")
|
||||
]
|
||||
coclass BrowserLauncherClass {
|
||||
[default] interface IBrowserLauncher;
|
||||
}
|
||||
|
||||
// This coclass declaration exists only for the purpose of forcing
|
||||
// ::RegisterTypeLib() to register the interfaces within. This is
|
||||
// required so that we can marshal/unmarshal the interfaces using the TypeLib
|
||||
// marshaler.
|
||||
[
|
||||
uuid(9564861C-3469-4c9a-956A-74D5690790E6),
|
||||
helpstring("InterfaceRegistrar Class")
|
||||
]
|
||||
coclass InterfaceRegistrar {
|
||||
[default] interface IBrowserHttpRequest;
|
||||
interface IJobObserver;
|
||||
interface IProgressWndEvents;
|
||||
}
|
||||
|
||||
[
|
||||
uuid(2F0E2680-9FF5-43c0-B76E-114A56E93598),
|
||||
helpstring("OnDemand Class")
|
||||
]
|
||||
coclass OnDemandClass {
|
||||
[default] interface IGoogleUpdate;
|
||||
}
|
||||
};
|
||||
|
65
google_update/ondemand_updates.vcproj
Normal file
65
google_update/ondemand_updates.vcproj
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="ondemand_updates"
|
||||
ProjectGUID="{4052059A-D72B-4183-B5C2-9D1B099E9E35}"
|
||||
RootNamespace="ondemand_updates"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(SolutionDir)..\build\debug.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
ConfigurationType="10"
|
||||
InheritedPropertySheets="$(SolutionDir)..\build\release.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath=".\google_update_idl.idl"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
11
google_update/using_google_update.vsprops
Normal file
11
google_update/using_google_update.vsprops
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="using_google_update"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="$(IntDir)\..\ondemand_updates;"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
Reference in New Issue
Block a user