chromium/extensions/browser/api/webcam_private/ip_webcam.cc

// 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