%module{Slic3r::XS};

%{
#include <xsinit.h>
#include "libslic3r/GCodeSender.hpp"
%}

%name{Slic3r::GCode::Sender} class GCodeSender {
    GCodeSender();
    ~GCodeSender();
    
    bool connect(std::string port, unsigned int baud_rate);
    void disconnect();
    bool is_connected();
    bool wait_connected(unsigned int timeout = 3);
    int queue_size();
    void send(std::string s, bool priority = false);
    void pause_queue();
    void resume_queue();
    void purge_queue(bool priority = false);
    std::vector<std::string> purge_log();
    std::string getT();
    std::string getB();
};