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 13namespace remoting { 14namespace protocol { 15 16class VideoStub; 17 18class 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