/*
 * Generated by erpcgen 1.14.0 on Tue Apr 28 12:16:31 2026.
 *
 * AUTOGENERATED - DO NOT EDIT
 */


#if !defined(_servo_service_server_hpp_)
#define _servo_service_server_hpp_

#include "servo_service_interface.hpp"

#include "erpc_server.hpp"
#include "erpc_codec.hpp"

#if 11400 != ERPC_VERSION_NUMBER
#error "The generated shim code version is different to the rest of eRPC code."
#endif


namespace erpcShim
{

/*!
 * @brief Service subclass for servo_service.
 */
class servo_service_service : public erpc::Service
{
public:
    servo_service_service(servo_service_interface *_servo_service_interface);

    virtual ~servo_service_service();

    /*! @brief return service interface handler. */
    servo_service_interface* getHandler(void);

    /*! @brief Call the correct server shim based on method unique ID. */
    virtual erpc_status_t handleInvocation(uint32_t methodId, uint32_t sequence, erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport);

private:
    servo_service_interface *m_handler;
    /*! @brief Server shim for setConstraints of servo_service interface. */
    erpc_status_t setConstraints_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);

    /*! @brief Server shim for setPositionGain of servo_service interface. */
    erpc_status_t setPositionGain_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);

    /*! @brief Server shim for setMode of servo_service interface. */
    erpc_status_t setMode_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);

    /*! @brief Server shim for setUpdatePeriodMs of servo_service interface. */
    erpc_status_t setUpdatePeriodMs_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);

    /*! @brief Server shim for move of servo_service interface. */
    erpc_status_t move_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);

    /*! @brief Server shim for moveJ of servo_service interface. */
    erpc_status_t moveJ_shim(erpc::Codec * codec, erpc::MessageBufferFactory *messageFactory, erpc::Transport * transport, uint32_t sequence);
};

} // erpcShim


#endif // _servo_service_server_hpp_
