void glite_jobid_getServerParts(glite_jobid_const_t jobid, char **srvName, unsigned int *srvPort);
/**
+ * Extract bookkeeping server address and port
+ * \param jobid from which the bkserver address should be extracted
+ * \param srvName pointer where to return server name
+ * \param srvPort pointer where to return server port
+ * */
+void glite_jobid_getServerParts_internal(glite_jobid_const_t jobid, char **srvName, unsigned int *srvPort);
+
+/**
* Extract unique string
* \param jobid
* \retval pointer to allocated unique string representing jobid
*/
char* glite_jobid_getUnique(glite_jobid_const_t jobid);
+/**
+ * Extract unique string
+ * \param jobid
+ * \retval pointer to allocated unique string representing jobid
+ * \retval NULL if jobid is 0 or memory allocation fails
+ */
+char* glite_jobid_getUnique_internal(glite_jobid_const_t jobid);
+
#ifdef __cplusplus
}
#endif
/* check if it begins with prefix */
/* unsupported */
+ /* FIXME: fill in PROTO_PREFIX if missing */
if (strncmp(bkserver, GLITE_JOBID_PROTO_PREFIX, sizeof(GLITE_JOBID_PROTO_PREFIX)-1) == 0)
return EINVAL;
// XXX
// use recreate
// parse name, port, unique
-int glite_jobid_recreate(const char *idString, glite_jobid_t *jobId)
+int glite_jobid_parse(const char *idString, glite_jobid_t *jobId)
{
char *pom, *pom1, *pom2;
glite_jobid_t out;
{
return jobid ? strdup(jobid->id) : NULL;
}
+
+
+void glite_jobid_getServerParts_internal(glite_jobid_const_t jobid, char **srvName, unsigned int *srvPort)
+{
+ if (jobid) {
+ *srvName = jobid->BShost;
+ *srvPort = jobid->BSport ? jobid->BSport : GLITE_JOBID_DEFAULT_PORT;
+ }
+}
+
+
+char* glite_jobid_getUnique_internal(glite_jobid_const_t jobid)
+{
+ return jobid ? jobid->id : NULL;
+}