11bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org/* 21bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 31bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * 41bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * Use of this source code is governed by a BSD-style license 51bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * that can be found in the LICENSE file in the root of the source 61bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * tree. An additional intellectual property rights grant can be found 71bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * in the file PATENTS. All contributing project authors may 81bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org * be found in the AUTHORS file in the root of the source tree. 91bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org */ 101bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org#ifndef WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_MOCK_MOCK_VIDEO_CAPTURE_H_ 111bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org#define WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_MOCK_MOCK_VIDEO_CAPTURE_H_ 121bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 131bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org#include "webrtc/modules/video_capture/include/video_capture.h" 141bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org#include "testing/gmock/include/gmock/gmock.h" 151bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 161bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.orgnamespace webrtc { 171bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 181bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.orgclass MockVideoCaptureModule : public VideoCaptureModule { 191bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org public: 201bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org // from Module 211bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(TimeUntilNextProcess, int32_t()); 221bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(Process, int32_t()); 231bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 241bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org // from RefCountedModule 251bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(AddRef, int32_t()); 261bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(Release, int32_t()); 271bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 281bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org // from VideoCaptureModule 291bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(RegisterCaptureDataCallback, 301bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org void(VideoCaptureDataCallback& dataCallback)); 311bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(DeRegisterCaptureDataCallback, void()); 321bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(RegisterCaptureCallback, void(VideoCaptureFeedBack& callBack)); 331bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(DeRegisterCaptureCallback, void()); 341bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(StartCapture, int32_t(const VideoCaptureCapability& capability)); 351bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(StopCapture, int32_t()); 361bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_CONST_METHOD0(CurrentDeviceName, const char*()); 371bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(CaptureStarted, bool()); 381bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(CaptureSettings, int32_t(VideoCaptureCapability& settings)); 391bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(SetCaptureDelay, void(int32_t delayMS)); 401bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD0(CaptureDelay, int32_t()); 411bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(SetCaptureRotation, int32_t(VideoCaptureRotation rotation)); 421bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(GetEncodeInterface, 431bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org VideoCaptureEncodeInterface*(const VideoCodec& codec)); 441bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(EnableFrameRateCallback, void(const bool enable)); 451bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org MOCK_METHOD1(EnableNoPictureAlarm, void(const bool enable)); 461bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org}; 471bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 481bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org} // namespace webrtc 491bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org 501bdf186e6ae8d2f1a7d055237a75c0d7fd189624wuchengli@chromium.org#endif // WEBRTC_MODULES_VIDEO_CAPTURE_INCLUDE_MOCK_MOCK_VIDEO_CAPTURE_H_ 51