1 // Copyright (c) 2011 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 PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 6 #define PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 7 8 #include <vector> 9 10 #include "ppapi/c/dev/pp_video_capture_dev.h" 11 #include "ppapi/cpp/dev/buffer_dev.h" 12 #include "ppapi/cpp/instance_handle.h" 13 #include "ppapi/cpp/resource.h" 14 15 namespace pp { 16 17 class Instance; 18 19 class VideoCaptureClient_Dev { 20 public: 21 explicit VideoCaptureClient_Dev(Instance* instance); 22 virtual ~VideoCaptureClient_Dev(); 23 24 virtual void OnDeviceInfo(PP_Resource video_capture, 25 const PP_VideoCaptureDeviceInfo_Dev& info, 26 const std::vector<Buffer_Dev>& buffers) = 0; 27 virtual void OnStatus(PP_Resource video_capture, uint32_t status) = 0; 28 virtual void OnError(PP_Resource video_capture, uint32_t error) = 0; 29 virtual void OnBufferReady(PP_Resource video_capture, uint32_t buffer) = 0; 30 31 private: 32 InstanceHandle instance_; 33 }; 34 35 } // namespace pp 36 37 #endif // PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 38