- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / cpp / dev / video_capture_client_dev.h
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_