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