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