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. 4 5 #ifndef ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MANAGER_H_ 6 #define ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MANAGER_H_ 7 8 #include "athena/athena_export.h" 9 10 namespace athena { 11 12 class Activity; 13 14 // Manages the views for the activities. 15 class ATHENA_EXPORT ActivityViewManager { 16 public: 17 static ActivityViewManager* Create(); 18 static ActivityViewManager* Get(); 19 static void Shutdown(); 20 ~ActivityViewManager()21 virtual ~ActivityViewManager() {} 22 23 // Adds/Removes a task. 24 virtual void AddActivity(Activity* task) = 0; 25 virtual void RemoveActivity(Activity* task) = 0; 26 27 // Updates the UI when the task color/title changes. 28 virtual void UpdateActivity(Activity* task) = 0; 29 }; 30 31 } // namespace athena 32 33 #endif // ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MANAGER_H_ 34