Verified Commit dbe7e798 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Add admire::node type to CXX API

parent 4ed3938c
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -59,6 +59,26 @@ private:
    std::unique_ptr<impl> m_pimpl;
};

struct node {

    explicit node(std::string hostname);
    explicit node(const ADM_node_t& srv);
    node(const node&) noexcept;
    node(node&&) noexcept;
    node&
    operator=(const node&) noexcept;
    node&
    operator=(node&&) noexcept;
    ~node();

    std::string
    hostname() const;

private:
    class impl;
    std::unique_ptr<impl> m_pimpl;
};

struct job {

    explicit job(job_id id);
+39 −0
Original line number Diff line number Diff line
@@ -746,6 +746,45 @@ server::address() const {
    return m_pimpl->address();
}

class node::impl {

public:
    explicit impl(std::string hostname) : m_hostname(std::move(hostname)) {}

    std::string
    hostname() const {
        return m_hostname;
    }

private:
    std::string m_hostname;
};

node::node(std::string hostname)
    : m_pimpl(std::make_unique<node::impl>(std::move(hostname))) {}

node::node(const ADM_node_t& node) : node::node(node->n_hostname) {}

node::node(const node& other) noexcept
    : m_pimpl(std::make_unique<impl>(*other.m_pimpl)) {}

node::node(node&&) noexcept = default;

node&
node::operator=(const node& other) noexcept {
    this->m_pimpl = std::make_unique<impl>(*other.m_pimpl);
    return *this;
}

node&
node::operator=(node&&) noexcept = default;

node::~node() = default;

std::string
node::hostname() const {
    return m_pimpl->hostname();
}

class job::impl {