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 REMOTING_PROTOCOL_CLIENT_VIDEO_DISPATCHER_H_ 6 #define REMOTING_PROTOCOL_CLIENT_VIDEO_DISPATCHER_H_ 7 8 #include "base/compiler_specific.h" 9 #include "remoting/proto/video.pb.h" 10 #include "remoting/protocol/channel_dispatcher_base.h" 11 #include "remoting/protocol/message_reader.h" 12 13 namespace remoting { 14 namespace protocol { 15 16 class VideoStub; 17 18 class ClientVideoDispatcher : public ChannelDispatcherBase { 19 public: 20 explicit ClientVideoDispatcher(VideoStub* video_stub); 21 virtual ~ClientVideoDispatcher(); 22 23 protected: 24 // ChannelDispatcherBase overrides. 25 virtual void OnInitialized() OVERRIDE; 26 27 private: 28 ProtobufMessageReader<VideoPacket> reader_; 29 30 // The stub to which VideoPackets are passed for processing. 31 VideoStub* video_stub_; 32 33 DISALLOW_COPY_AND_ASSIGN(ClientVideoDispatcher); 34 }; 35 36 } // namespace protocol 37 } // namespace remoting 38 39 #endif // REMOTING_PROTOCOL_CLIENT_VIDEO_DISPATCHER_H_ 40