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 @@ ...@@ -29,6 +29,9 @@
ADM_job_t ADM_job_t
ADM_job_create(uint64_t id); ADM_job_create(uint64_t id);
ADM_transfer_t
ADM_transfer_create(uint64_t id);
namespace admire::api { namespace admire::api {
managed_ctype<ADM_adhoc_context_t> managed_ctype<ADM_adhoc_context_t>
...@@ -110,4 +113,9 @@ convert(ADM_job_t j) { ...@@ -110,4 +113,9 @@ convert(ADM_job_t j) {
return admire::job{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 } // namespace admire::api
...@@ -60,6 +60,9 @@ convert(const job& j); ...@@ -60,6 +60,9 @@ convert(const job& j);
job job
convert(ADM_job_t j); convert(ADM_job_t j);
managed_ctype<ADM_transfer_t>
convert(const transfer& t);
} // namespace admire::api } // namespace admire::api
...@@ -175,6 +178,9 @@ struct admire::api::managed_ctype<ADM_job_requirements_t> { ...@@ -175,6 +178,9 @@ struct admire::api::managed_ctype<ADM_job_requirements_t> {
ADM_return_t ADM_return_t
ADM_job_destroy(ADM_job_t job); ADM_job_destroy(ADM_job_t job);
ADM_return_t
ADM_transfer_destroy(ADM_transfer_t tx);
template <> template <>
struct admire::api::managed_ctype<ADM_job_t> { struct admire::api::managed_ctype<ADM_job_t> {
...@@ -193,4 +199,23 @@ 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; 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 #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