Skip to content
Snippets Groups Projects
Verified Commit 1a8d1d0e authored by Alberto Miranda's avatar Alberto Miranda :hotsprings:
Browse files

Add conversion function for admire::transfer

parent 905ce57f
No related branches found
No related tags found
1 merge request!30Resolve "Refactor library RPC implementation of `admire::transfer_dataset`"
......@@ -29,6 +29,9 @@
ADM_job_t
ADM_job_create(uint64_t id);
ADM_transfer_t
ADM_transfer_create(uint64_t id);
namespace admire::api {
managed_ctype<ADM_adhoc_context_t>
......@@ -110,4 +113,9 @@ convert(ADM_job_t j) {
return admire::job{j};
}
managed_ctype<ADM_transfer_t>
convert(const transfer& tx) {
return managed_ctype<ADM_transfer_t>(ADM_transfer_create(tx.id()));
}
} // namespace admire::api
......@@ -60,6 +60,9 @@ convert(const job& j);
job
convert(ADM_job_t j);
managed_ctype<ADM_transfer_t>
convert(const transfer& t);
} // namespace admire::api
......@@ -175,6 +178,9 @@ struct admire::api::managed_ctype<ADM_job_requirements_t> {
ADM_return_t
ADM_job_destroy(ADM_job_t job);
ADM_return_t
ADM_transfer_destroy(ADM_transfer_t tx);
template <>
struct admire::api::managed_ctype<ADM_job_t> {
......@@ -193,4 +199,23 @@ struct admire::api::managed_ctype<ADM_job_t> {
scord::utils::ctype_ptr<ADM_job_t, ADM_job_destroy> m_job;
};
template <>
struct admire::api::managed_ctype<ADM_transfer_t> {
explicit managed_ctype(ADM_transfer_t tx) : m_transfer(tx) {}
ADM_transfer_t
get() const {
return m_transfer.get();
}
ADM_transfer_t
release() {
return m_transfer.release();
}
scord::utils::ctype_ptr<ADM_transfer_t, ADM_transfer_destroy> m_transfer;
};
#endif // SCORD_CONVERT_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment