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