1 // Copyright 2020 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 #include "extensions/browser/api/webcam_private/ip_webcam.h"
6
7 #include <utility>
8
9 #include "chromeos/dbus/ip_peripheral/ip_peripheral_service_client.h"
10
11 namespace extensions {
12
IpWebcam(const std::string & device_id)13 IpWebcam::IpWebcam(const std::string& device_id) : device_id_(device_id) {}
14
~IpWebcam()15 IpWebcam::~IpWebcam() {}
16
GetPan(const GetPTZCompleteCallback & callback)17 void IpWebcam::GetPan(const GetPTZCompleteCallback& callback) {
18 chromeos::IpPeripheralServiceClient::Get()->GetPan(device_id_,
19 std::move(callback));
20 }
21
GetTilt(const GetPTZCompleteCallback & callback)22 void IpWebcam::GetTilt(const GetPTZCompleteCallback& callback) {
23 chromeos::IpPeripheralServiceClient::Get()->GetTilt(device_id_,
24 std::move(callback));
25 }
26
GetZoom(const GetPTZCompleteCallback & callback)27 void IpWebcam::GetZoom(const GetPTZCompleteCallback& callback) {
28 chromeos::IpPeripheralServiceClient::Get()->GetZoom(device_id_,
29 std::move(callback));
30 }
31
GetFocus(const GetPTZCompleteCallback & callback)32 void IpWebcam::GetFocus(const GetPTZCompleteCallback& callback) {
33 int value = 0;
34 int min_value = 0;
35 int max_value = 0;
36 bool success = false;
37
38 std::move(callback).Run(success, value, min_value, max_value);
39 }
40
SetPan(int value,int pan_speed,const SetPTZCompleteCallback & callback)41 void IpWebcam::SetPan(int value,
42 int pan_speed,
43 const SetPTZCompleteCallback& callback) {
44 chromeos::IpPeripheralServiceClient::Get()->SetPan(device_id_, value,
45 std::move(callback));
46 }
47
SetTilt(int value,int tilt_speed,const SetPTZCompleteCallback & callback)48 void IpWebcam::SetTilt(int value,
49 int tilt_speed,
50 const SetPTZCompleteCallback& callback) {
51 chromeos::IpPeripheralServiceClient::Get()->SetTilt(device_id_, value,
52 std::move(callback));
53 }
54
SetZoom(int value,const SetPTZCompleteCallback & callback)55 void IpWebcam::SetZoom(int value, const SetPTZCompleteCallback& callback) {
56 chromeos::IpPeripheralServiceClient::Get()->SetZoom(device_id_, value,
57 std::move(callback));
58 }
59
SetFocus(int value,const SetPTZCompleteCallback & callback)60 void IpWebcam::SetFocus(int value, const SetPTZCompleteCallback& callback) {
61 std::move(callback).Run(false);
62 }
63
SetAutofocusState(AutofocusState state,const SetPTZCompleteCallback & callback)64 void IpWebcam::SetAutofocusState(AutofocusState state,
65 const SetPTZCompleteCallback& callback) {
66 std::move(callback).Run(false);
67 }
68
SetPanDirection(PanDirection direction,int pan_speed,const SetPTZCompleteCallback & callback)69 void IpWebcam::SetPanDirection(PanDirection direction,
70 int pan_speed,
71 const SetPTZCompleteCallback& callback) {
72 std::move(callback).Run(false);
73 }
74
SetTiltDirection(TiltDirection direction,int tilt_speed,const SetPTZCompleteCallback & callback)75 void IpWebcam::SetTiltDirection(TiltDirection direction,
76 int tilt_speed,
77 const SetPTZCompleteCallback& callback) {
78 std::move(callback).Run(false);
79 }
80
SetHome(const SetPTZCompleteCallback & callback)81 void IpWebcam::SetHome(const SetPTZCompleteCallback& callback) {
82 std::move(callback).Run(false);
83 }
84
RestoreCameraPreset(int preset_number,const SetPTZCompleteCallback & callback)85 void IpWebcam::RestoreCameraPreset(int preset_number,
86 const SetPTZCompleteCallback& callback) {
87 std::move(callback).Run(false);
88 }
89
SetCameraPreset(int preset_number,const SetPTZCompleteCallback & callback)90 void IpWebcam::SetCameraPreset(int preset_number,
91 const SetPTZCompleteCallback& callback) {
92 std::move(callback).Run(false);
93 }
94
Reset(bool pan,bool tilt,bool zoom,const SetPTZCompleteCallback & callback)95 void IpWebcam::Reset(bool pan,
96 bool tilt,
97 bool zoom,
98 const SetPTZCompleteCallback& callback) {
99 std::move(callback).Run(false);
100 }
101
102 } // namespace extensions
103