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 15namespace pp { 16 17class Instance; 18 19class 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