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_; |