summaryrefslogtreecommitdiffstats
path: root/athena/home/public/app_model_builder.h
blob: 50c38bf7bce36cd2ccd0550174bfc2ce624cd73d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ATHENA_HOME_PUBLIC_APP_MODEL_BUILDER_H_
#define ATHENA_HOME_PUBLIC_APP_MODEL_BUILDER_H_

#include "athena/athena_export.h"

namespace app_list {
class AppListModel;
}  // namespace app_list

namespace athena {

// An interface to fill the list of apps in the home card.
// TODO(mukai): integrate the interface with chrome/browser/ui/app_list/
// extension_app_model_builder.
class ATHENA_EXPORT AppModelBuilder {
 public:
  virtual ~AppModelBuilder() {}

  // Registers |model| to the builder so that the builder can fill the currently
  // available app_list::AppListItems.
  virtual void RegisterAppListModel(app_list::AppListModel* model) = 0;
};

}  // namespace athena

#endif  // ATHENA_HOME_PUBLIC_APP_MODEL_BUILDER_H_