Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

JobId.h

00001 #ifndef EDG_WORKLOAD_COMMON_CLIENT_JOBID_H
00002 #define EDG_WORKLOAD_COMMON_CLIENT_JOBID_H
00003 
00004 /*
00005  * JobId.h
00006  * Copyright (c) 2001 The European Datagrid Project - IST programme, all rights reserved.
00007  *
00008  */
00009 
00010 #include <string>
00011 #include <iosfwd>
00012 #include "edg/workload/common/common_namespace.h"
00013 #include "edg/workload/common/jobid/jobid.h"
00014 typedef struct _edg_wlc_jobid_s* edg_wlc_jobid_t;
00015 #define COMMON_JOBID_NAMESPACE_BEGIN namespace edg { namespace workload { namespace common {namespace jobid{
00016 COMMON_JOBID_NAMESPACE_BEGIN
00029  class JobId {
00030 public:
00034     JobId() ;
00040     JobId(const std::string& job_id_string ) ;
00041     JobId(const JobId&);
00042     JobId(const edg_wlc_JobId&);
00047     ~JobId() ;
00049 
00053     void clear() ;
00058     bool isSet() { return ( m_JobId != 0 ) ; }
00065     void setJobId(const std::string& lb_server, int port = 0, const std::string& unique = "");
00067 
00071     std::string getServer() const;
00074     std::string getUnique() const;
00076 
00080     void fromString ( const std::string& dg_JobId );
00083     std::string toString() const;
00084     operator const edg_wlc_JobId() const { return m_JobId; }
00085     JobId & operator=(JobId const &);
00086     JobId & operator=(const edg_wlc_JobId &);
00087     edg_wlc_JobId  getId() const ;
00088 private:
00089     // This Variable stores the Job unique identification String
00090     edg_wlc_JobId m_JobId;
00091     mutable char* m_pStr;
00092     mutable char* m_pBkserver;
00093     mutable char* m_pUnique;
00094 
00095     friend bool operator<(JobId const& lhs, JobId const& rhs);
00096     friend bool operator==(JobId const& lhs, JobId const& rhs);
00097 };
00098 
00099 inline bool operator<(JobId const& lhs, JobId const& rhs)
00100 {
00101   return    strcmp ( lhs.m_pStr , rhs.m_pStr )  <0 ;
00102 }
00103 
00104 inline bool operator==(JobId const& lhs, JobId const& rhs)
00105 {
00106 return     strcmp ( lhs.m_pStr , rhs.m_pStr ) ==0 ;
00107 }
00108 
00109 std::ostream& operator<<(std::ostream& os, JobId const& id);
00110 
00111 } COMMON_NAMESPACE_END }
00112 
00113 #endif // EDG_WORKLOAD_COMMON_CLIENT_JOBID_H

Generated on Fri May 14 14:18:26 2004 for COMMON API - configuration, jobid, ldif2classadi, logger, process, requestad, socket++i, task, utilities by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002