diff --git a/include/mqss-c/client.h b/include/mqss-c/client.h index e7c589d..5f92cce 100644 --- a/include/mqss-c/client.h +++ b/include/mqss-c/client.h @@ -29,7 +29,8 @@ extern "C" { typedef struct MQSSOpaqueClient* MQSSClientRef; -MQSSClientRef MQSSClientCreateClient(char* token, char* urlOrQueue, bool isHpc); +MQSSClientRef MQSSClientCreateClient(const char* token, + const char* urlOrQueue, bool isHpc); MQSSResourceRef* MQSSClientGetAllResources(MQSSClientRef client, int* size); @@ -44,6 +45,9 @@ MQSSJobResultRef MQSSClientGetJobResult(MQSSClientRef client, MQSSJobRef job, bool wait, unsigned int timeout); int MQSSClientGetNumberPendingJobs(MQSSClientRef client, char* resourceName); + +void MQSSClientFreeClient(MQSSClientRef client); + #ifdef __cplusplus } #endif diff --git a/include/mqss-c/job.h b/include/mqss-c/job.h index 6b51f34..1ab2f4f 100644 --- a/include/mqss-c/job.h +++ b/include/mqss-c/job.h @@ -48,6 +48,10 @@ int MQSSClientGetJobResultSubmittedTimestamp(MQSSJobResultRef jobResult, int MQSSClientGetJobResultScheduledTimestamp(MQSSJobResultRef jobResult, uint64_t* scheduledTimestamp); +void MQSSClientFreeJob(MQSSJobRef job); + +void MQSSClientFreeJobResult(MQSSJobResultRef result); + #ifdef __cplusplus } #endif diff --git a/src/c_bindings/client.cpp b/src/c_bindings/client.cpp index d1ac2fd..0dee333 100644 --- a/src/c_bindings/client.cpp +++ b/src/c_bindings/client.cpp @@ -24,7 +24,7 @@ using namespace mqss::client; -MQSSClientRef MQSSClientCreateClient(char* token, char* urlOrQueue, +MQSSClientRef MQSSClientCreateClient(const char* token, const char* urlOrQueue, bool isHpc) { if (!token || !urlOrQueue) return nullptr; @@ -100,3 +100,7 @@ int MQSSClientGetNumberPendingJobs(MQSSClientRef client, char* resourceName) { return unwrap(client)->getNumberPendingJobs(resourceName); } + +void MQSSClientFreeClient(MQSSClientRef client) { + delete unwrap(client); +} diff --git a/src/c_bindings/job.cpp b/src/c_bindings/job.cpp index 1e3f08e..f239651 100644 --- a/src/c_bindings/job.cpp +++ b/src/c_bindings/job.cpp @@ -162,3 +162,11 @@ int MQSSClientGetJobResultScheduledTimestamp(MQSSJobResultRef jobResult, } return 0; } + +void MQSSClientFreeJob(MQSSJobRef job) { + delete unwrap(job); +} + +void MQSSClientFreeJobResult(MQSSJobResultRef result) { + delete unwrap(result); +} \ No newline at end of file