Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Unified Diff: athena/activity/activity_manager_impl.cc

Issue 513523002: Adding Baseframework of the ResourceManager (all hooks and observers) are being put in place with a… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Aaaand another rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: athena/activity/activity_manager_impl.cc
diff --git a/athena/activity/activity_manager_impl.cc b/athena/activity/activity_manager_impl.cc
index 09dd4785af07f76ab8039601c9a1cf4a16f998fe..c1e1faa6afa87a49dbdedf2a1323a7ed2688ee2c 100644
--- a/athena/activity/activity_manager_impl.cc
+++ b/athena/activity/activity_manager_impl.cc
@@ -7,8 +7,10 @@
#include <algorithm>
#include "athena/activity/public/activity.h"
+#include "athena/activity/public/activity_manager_observer.h"
#include "athena/activity/public/activity_view_manager.h"
#include "base/logging.h"
+#include "base/observer_list.h"
namespace athena {
@@ -37,11 +39,17 @@ void ActivityManagerImpl::AddActivity(Activity* activity) {
activities_.push_back(activity);
ActivityViewManager* manager = ActivityViewManager::Get();
manager->AddActivity(activity);
+ FOR_EACH_OBSERVER(ActivityManagerObserver,
+ observers_,
+ OnActivityStarted(activity));
}
void ActivityManagerImpl::RemoveActivity(Activity* activity) {
std::vector<Activity*>::iterator find =
std::find(activities_.begin(), activities_.end(), activity);
+ FOR_EACH_OBSERVER(ActivityManagerObserver,
+ observers_,
+ OnActivityEnding(activity));
if (find != activities_.end()) {
activities_.erase(find);
ActivityViewManager* manager = ActivityViewManager::Get();
@@ -54,6 +62,14 @@ void ActivityManagerImpl::UpdateActivity(Activity* activity) {
manager->UpdateActivity(activity);
}
+void ActivityManagerImpl::AddObserver(ActivityManagerObserver* observer) {
+ observers_.AddObserver(observer);
+}
+
+void ActivityManagerImpl::RemoveObserver(ActivityManagerObserver* observer) {
+ observers_.RemoveObserver(observer);
+}
+
// static
ActivityManager* ActivityManager::Create() {
ActivityViewManager::Create();
@@ -73,4 +89,5 @@ void ActivityManager::Shutdown() {
ActivityViewManager::Shutdown();
}
+
} // namespace athena

Powered by Google App Engine
This is Rietveld 408576698