1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef ATHENA_HOME_PUBLIC_HOME_CARD_H_ 6#define ATHENA_HOME_PUBLIC_HOME_CARD_H_ 7 8#include "athena/athena_export.h" 9 10namespace app_list { 11class SearchProvider; 12} 13 14namespace athena { 15class AppModelBuilder; 16 17class ATHENA_EXPORT HomeCard { 18 public: 19 // Creates/deletes/gets the singleton object of the HomeCard 20 // implementation. Takes the ownership of |model_builder|. 21 static HomeCard* Create(AppModelBuilder* model_builder); 22 static void Shutdown(); 23 static HomeCard* Get(); 24 25 virtual ~HomeCard() {} 26 27 // Registers a search_provider to the HomeCard. Receiver will take 28 // the ownership of the specified provider. 29 virtual void RegisterSearchProvider( 30 app_list::SearchProvider* search_provider) = 0; 31}; 32 33} // namespace athena 34 35#endif // ATHENA_HOME_PUBLIC_HOME_CARD_H_ 36