// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_INSTALLER_GCAPI_GCAPI_H_ #define CHROME_INSTALLER_GCAPI_GCAPI_H_ #include extern "C" { // Error conditions for GoogleChromeCompatibilityCheck(). #define GCCC_ERROR_USERLEVELALREADYPRESENT 0x01 #define GCCC_ERROR_SYSTEMLEVELALREADYPRESENT 0x02 #define GCCC_ERROR_ACCESSDENIED 0x04 #define GCCC_ERROR_OSNOTSUPPORTED 0x08 #define GCCC_ERROR_ALREADYOFFERED 0x10 #define GCCC_ERROR_INTEGRITYLEVEL 0x20 #define DLLEXPORT __declspec(dllexport) // This function returns TRUE if Google Chrome should be offered. // If the return is FALSE, the reasons DWORD explains why. If you don't care // for the reason, you can pass NULL for reasons. // set_flag indicates whether a flag should be set indicating that Chrome was // offered within the last six months; if passed FALSE, this method will not // set the flag even if Chrome can be offered. If passed TRUE, this method // will set the flag only if Chrome can be offered. DLLEXPORT BOOL __stdcall GoogleChromeCompatibilityCheck(BOOL set_flag, DWORD *reasons); // This function launches Google Chrome after a successful install. Make // sure COM library is NOT initalized before you call this function (so if // you called CoInitialize, call CoUninitialize before calling this function). DLLEXPORT BOOL __stdcall LaunchGoogleChrome(); // This function launches Google Chrome after a successful install at the // given x,y coordinates with size height,length. Make // sure COM library is NOT initalized before you call this function (so if // you called CoInitialize, call CoUninitialize before calling this function). // This call is synchronous, meaning it waits for Chrome to launch and appear // to resize it before returning. DLLEXPORT BOOL __stdcall LaunchGoogleChromeWithDimensions(int x, int y, int width, int height); // Funtion pointer type declarations to use with GetProcAddress. typedef BOOL (__stdcall * GCCC_CompatibilityCheck)(BOOL, DWORD *); typedef BOOL (__stdcall * GCCC_LaunchGC)(HANDLE *); typedef BOOL (__stdcall * GCCC_LaunchGCWithDimensions)(int, int, int, int); } // extern "C" #endif // CHROME_INSTALLER_GCAPI_GCAPI_H_