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.
5 #include "athena/activity/public/activity_manager.h"
9 #include "base/macros.h"
10 #include "base/observer_list.h"
14 class ActivityManagerObserver
;
16 class ActivityManagerImpl
: public ActivityManager
{
18 ActivityManagerImpl();
19 virtual ~ActivityManagerImpl();
21 int num_activities() const { return activities_
.size(); }
24 virtual void AddActivity(Activity
* activity
) OVERRIDE
;
25 virtual void RemoveActivity(Activity
* activity
) OVERRIDE
;
26 virtual void UpdateActivity(Activity
* activity
) OVERRIDE
;
27 virtual void AddObserver(ActivityManagerObserver
* observer
) OVERRIDE
;
28 virtual void RemoveObserver(ActivityManagerObserver
* observer
) OVERRIDE
;
31 std::vector
<Activity
*> activities_
;
33 ObserverList
<ActivityManagerObserver
> observers_
;
35 DISALLOW_COPY_AND_ASSIGN(ActivityManagerImpl
);