Chromium Code Reviews| Index: components/arc/arc_bridge_service.h | 
| diff --git a/components/arc/arc_bridge_service.h b/components/arc/arc_bridge_service.h | 
| index 3f02b272d8665dd0b5fa7ed3c9e0a1366f0d4706..851ec2a64da37a78257166431b36875f6e02d153 100644 | 
| --- a/components/arc/arc_bridge_service.h | 
| +++ b/components/arc/arc_bridge_service.h | 
| @@ -19,6 +19,10 @@ namespace base { | 
| class CommandLine; | 
| } // namespace base | 
| +namespace IPC { | 
| +class ChannelHandle; | 
| +} // namespace IPC | 
| + | 
| namespace arc { | 
| class ArcBridgeBootstrap; | 
| @@ -110,6 +114,16 @@ class ArcBridgeService { | 
| virtual ~AppObserver() {} | 
| }; | 
| + // Notifies ARC video service events. | 
| + class VideoServiceObserver { | 
| + public: | 
| + // Called whenever to create video accelerator connection. | 
| + virtual void OnRequestArcVideoAcceleratorChannel() {} | 
| 
 
Owen Lin
2015/12/15 03:04:06
I still don't think we should use the name/pattern
 
Pawel Osciak
2015/12/16 10:17:58
+1, I'd prefer this as well.
 
kcwu
2015/12/16 14:05:32
Done.
 
 | 
| + | 
| + protected: | 
| + virtual ~VideoServiceObserver() {} | 
| + }; | 
| + | 
| virtual ~ArcBridgeService(); | 
| // Gets the global instance of the ARC Bridge Service. This can only be | 
| @@ -140,6 +154,8 @@ class ArcBridgeService { | 
| void RemoveObserver(Observer* observer); | 
| void AddNotificationObserver(NotificationObserver* observer); | 
| void RemoveNotificationObserver(NotificationObserver* observer); | 
| + void AddVideoServiceObserver(VideoServiceObserver* observer); | 
| + void RemoveVideoServiceObserver(VideoServiceObserver* observer); | 
| // Adds or removes ARC app observers. This can only be called on the thread | 
| // that this class was created on. | 
| @@ -178,6 +194,9 @@ class ArcBridgeService { | 
| const std::string& activity, | 
| ScaleFactor scale_factor) = 0; | 
| + virtual bool NotifyVideoAcceleratorChannelCreated( | 
| + const IPC::ChannelHandle& handle) = 0; | 
| + | 
| protected: | 
| ArcBridgeService(); | 
| @@ -196,6 +215,10 @@ class ArcBridgeService { | 
| return app_observer_list_; | 
| } | 
| + base::ObserverList<VideoServiceObserver>& video_service_observer_list() { | 
| + return video_service_observer_list_; | 
| + } | 
| + | 
| bool CalledOnValidThread(); | 
| private: | 
| @@ -206,6 +229,7 @@ class ArcBridgeService { | 
| base::ObserverList<Observer> observer_list_; | 
| base::ObserverList<NotificationObserver> notification_observer_list_; | 
| + base::ObserverList<VideoServiceObserver> video_service_observer_list_; | 
| base::ObserverList<AppObserver> app_observer_list_; |