| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "extensions/browser/api/webcam_private/ip_webcam.h" |
| |
| #include <utility> |
| |
| #include "chromeos/dbus/ip_peripheral/ip_peripheral_service_client.h" |
| |
| using chromeos::IpPeripheralServiceClient; |
| |
| namespace extensions { |
| |
| IpWebcam::IpWebcam(const std::string& device_id) : device_id_(device_id) {} |
| |
| IpWebcam::~IpWebcam() = default; |
| |
| void IpWebcam::GetPan(const GetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->GetPan(device_id_, std::move(callback)); |
| } |
| |
| void IpWebcam::GetTilt(const GetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->GetTilt(device_id_, std::move(callback)); |
| } |
| |
| void IpWebcam::GetZoom(const GetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->GetZoom(device_id_, std::move(callback)); |
| } |
| |
| void IpWebcam::GetFocus(const GetPTZCompleteCallback& callback) { |
| int value = 0; |
| int min_value = 0; |
| int max_value = 0; |
| bool success = false; |
| |
| std::move(callback).Run(success, value, min_value, max_value); |
| } |
| |
| void IpWebcam::SetPan(int value, |
| int pan_speed, |
| const SetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->SetPan(device_id_, value, |
| std::move(callback)); |
| } |
| |
| void IpWebcam::SetTilt(int value, |
| int tilt_speed, |
| const SetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->SetTilt(device_id_, value, |
| std::move(callback)); |
| } |
| |
| void IpWebcam::SetZoom(int value, const SetPTZCompleteCallback& callback) { |
| IpPeripheralServiceClient::Get()->SetZoom(device_id_, value, |
| std::move(callback)); |
| } |
| |
| void IpWebcam::SetFocus(int value, const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::SetAutofocusState(AutofocusState state, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::SetPanDirection(PanDirection direction, |
| int pan_speed, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::SetTiltDirection(TiltDirection direction, |
| int tilt_speed, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::SetHome(const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::RestoreCameraPreset(int preset_number, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::SetCameraPreset(int preset_number, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| void IpWebcam::Reset(bool pan, |
| bool tilt, |
| bool zoom, |
| const SetPTZCompleteCallback& callback) { |
| std::move(callback).Run(false); |
| } |
| |
| } // namespace extensions |