15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Copyright 2014 The Chromium Authors. All rights reserved. 25c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// Use of this source code is governed by a BSD-style license that can be 35c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// found in the LICENSE file. 45c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 55c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#ifndef CHROME_BROWSER_ANDROID_LOGO_BRIDGE_H_ 65c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#define CHROME_BROWSER_ANDROID_LOGO_BRIDGE_H_ 75c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 85c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include <jni.h> 95c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 105c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "base/macros.h" 115c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#include "base/memory/weak_ptr.h" 125c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 135c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass LogoService; 145c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 155c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// The C++ counterpart to LogoBridge.java. Enables Java code to access the 165c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu// default search provider's logo. 175c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liuclass LogoBridge { 185c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu public: 195c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu explicit LogoBridge(jobject j_profile); 205c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu void Destroy(JNIEnv* env, jobject obj); 215c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu void GetCurrentLogo(JNIEnv* env, jobject obj, jobject j_logo_observer); 225c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 235c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu private: 245c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu ~LogoBridge(); 255c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 265c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu LogoService* logo_service_; 275c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu base::WeakPtrFactory<LogoBridge> weak_ptr_factory_; 285c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 295c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu DISALLOW_COPY_AND_ASSIGN(LogoBridge); 305c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu}; 315c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 325c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liubool RegisterLogoBridge(JNIEnv* env); 335c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu 345c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu#endif // CHROME_BROWSER_ANDROID_LOGO_BRIDGE_H_ 35