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 10 namespace app_list { 11 class SearchProvider; 12 } 13 14 namespace athena { 15 class AppModelBuilder; 16 17 class 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