// Copyright (c) 2022 Boston Dynamics, Inc.  All rights reserved.
//
// Downloading, reproducing, distributing or otherwise using the SDK Software
// is subject to the terms and conditions of the Boston Dynamics Software
// Development Kit License (20191101-BDSDK-SL).

syntax = "proto3";

package bosdyn.api.docking;

option java_outer_classname = "DockingServiceProto";

import "bosdyn/api/docking/docking.proto";

// The DockingService provides an interface to dock and undock the robot from Spot Docks,
// as well as get feedback on command status, and get the current docked status of the robot.
service DockingService {
    // Starts a docking command on the robot.
    rpc DockingCommand(DockingCommandRequest) returns (DockingCommandResponse) {}

    // Check the status of a docking command.
    rpc DockingCommandFeedback(DockingCommandFeedbackRequest) returns (DockingCommandFeedbackResponse) {}

    // Get the configured dock ID ranges.
    rpc GetDockingConfig(GetDockingConfigRequest) returns (GetDockingConfigResponse) {}

    // Get the robot's docking state
    rpc GetDockingState(GetDockingStateRequest) returns (GetDockingStateResponse) {}
}
