Index: ui/app_list/app_list_model.h |
diff --git a/ui/app_list/app_list_model.h b/ui/app_list/app_list_model.h |
index d0c5923c4c0dd9acf4005ac1fb91c0cdef9a309c..4c46a0123297d05aed9d25ece397e5506475c711 100644 |
--- a/ui/app_list/app_list_model.h |
+++ b/ui/app_list/app_list_model.h |
@@ -7,12 +7,14 @@ |
#include "base/basictypes.h" |
#include "base/memory/scoped_ptr.h" |
+#include "base/observer_list.h" |
#include "ui/app_list/app_list_export.h" |
#include "ui/base/models/list_model.h" |
namespace app_list { |
class AppListItemModel; |
+class AppListModelObserver; |
class SearchBoxModel; |
class SearchResult; |
@@ -22,15 +24,26 @@ class SearchResult; |
// the model for SearchBoxView. SearchResults owns a list of SearchResult. |
class APP_LIST_EXPORT AppListModel { |
public: |
+ enum Status { |
+ STATUS_NORMAL, |
+ STATUS_SYNCING, // Syncing apps or installing synced apps. |
+ }; |
+ |
typedef ui::ListModel<AppListItemModel> Apps; |
typedef ui::ListModel<SearchResult> SearchResults; |
AppListModel(); |
~AppListModel(); |
+ void AddObserver(AppListModelObserver* observer); |
+ void RemoveObserver(AppListModelObserver* observer); |
+ |
+ void SetStatus(Status status); |
+ |
Apps* apps() { return apps_.get(); } |
SearchBoxModel* search_box() { return search_box_.get(); } |
SearchResults* results() { return results_.get(); } |
+ Status status() const { return status_; } |
private: |
scoped_ptr<Apps> apps_; |
@@ -38,6 +51,9 @@ class APP_LIST_EXPORT AppListModel { |
scoped_ptr<SearchBoxModel> search_box_; |
scoped_ptr<SearchResults> results_; |
+ Status status_; |
+ ObserverList<AppListModelObserver> observers_; |
+ |
DISALLOW_COPY_AND_ASSIGN(AppListModel); |
}; |