/*
 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
 * SPDX-License-Identifier: BSD-3-Clause
 */

// Autogenerated by Thrift Compiler (0.14.1-yarped)
//
// This is an automatically generated file.
// It could get re-generated if the ALLOW_IDL_GENERATION flag is on.

#ifndef YARP_THRIFT_GENERATOR_SERVICE_ILOCALIZATION2DMSGS_H
#define YARP_THRIFT_GENERATOR_SERVICE_ILOCALIZATION2DMSGS_H

#include <yarp/os/Wire.h>
#include <yarp/os/idl/WireTypes.h>
#include <return_get_current_position1.h>
#include <return_get_current_position2.h>
#include <return_get_estimated_odometry.h>
#include <return_get_estimated_poses.h>
#include <return_get_localization_status.h>
#include <yarp/dev/Map2DLocation.h>
#include <yarp/sig/Matrix.h>

class ILocalization2DMsgs :
        public yarp::os::Wire
{
public:
    // Constructor
    ILocalization2DMsgs();

    virtual bool start_localization_service_RPC();

    virtual bool stop_localization_service_RPC();

    virtual return_get_localization_status get_localization_status_RPC();

    virtual return_get_estimated_poses get_estimated_poses_RPC();

    virtual return_get_current_position1 get_current_position1_RPC();

    virtual return_get_current_position2 get_current_position2_RPC();

    virtual return_get_estimated_odometry get_estimated_odometry_RPC();

    virtual bool set_initial_pose1_RPC(const yarp::dev::Nav2D::Map2DLocation& loc);

    virtual bool set_initial_pose2_RPC(const yarp::dev::Nav2D::Map2DLocation& loc, const yarp::sig::Matrix& cov);

    // help method
    virtual std::vector<std::string> help(const std::string& functionName = "--all");

    // read from ConnectionReader
    bool read(yarp::os::ConnectionReader& connection) override;
};

#endif // YARP_THRIFT_GENERATOR_SERVICE_ILOCALIZATION2DMSGS_H
