00001 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_EVENT_HPP__
00002 #define __EDG_WORKLOAD_LOGGING_CLIENT_EVENT_HPP__
00003
00004
00005 #include <utility>
00006 #include <vector>
00007 #include <string>
00008
00009 #include "glite/wmsutils/jobid/JobId.h"
00010 #include "glite/lb/CountRef.h"
00011
00012 #ident "$Header: /cvs/glite/org.glite.lb.client-interface/interface/Event.h.T,v 1.5.22.4 2007/04/30 17:00:39 akrenek Exp $"
00013
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "glite/lb/events.h"
00027 #include "glite/lb/notifid.h"
00028
00029 EWL_BEGIN_NAMESPACE
00030
00040 class Event {
00041 friend class Job;
00042 friend class ServerConnection;
00043 friend class CountRef<Event>;
00044 public:
00048 enum Type {
00049 UNDEF = 0,
00050 TRANSFER,
00051 ACCEPTED,
00052 REFUSED,
00053 ENQUEUED,
00054 DEQUEUED,
00055 HELPERCALL,
00056 HELPERRETURN,
00057 RUNNING,
00058 RESUBMISSION,
00059 DONE,
00060 CANCEL,
00061 ABORT,
00062 CLEAR,
00063 PURGE,
00064 MATCH,
00065 PENDING,
00066 REGJOB,
00067 CHKPT,
00068 LISTENER,
00069 CURDESCR,
00070 USERTAG,
00071 CHANGEACL,
00072 NOTIFICATION,
00073 RESOURCEUSAGE,
00074 REALLYRUNNING,
00075 SUSPEND,
00076 RESUME,
00077 COLLECTIONSTATE,
00078 PBSQUEUED,
00079 PBSMATCH,
00080 PBSPENDING,
00081 PBSRUN,
00082 PBSRERUN,
00083 PBSDONE,
00084 PBSDEQUEUED,
00085 PBSRESOURCEUSAGE,
00086 PBSERROR,
00087 CONDORMATCH,
00088 CONDORREJECT,
00089 CONDORSHADOWSTARTED,
00090 CONDORSHADOWEXITED,
00091 CONDORSTARTERSTARTED,
00092 CONDORSTARTEREXITED,
00093 CONDORRESOURCEUSAGE,
00094 CONDORERROR,
00095 TYPE_MAX
00096 };
00097
00104 enum Attr {
00108 ARRIVED,
00112 CHILD,
00116 CHILD_EVENT,
00120 CLASSAD,
00124 DESCR,
00132 DEST_HOST,
00136 DEST_ID,
00140 DEST_INSTANCE,
00144 DEST_JOBID,
00148 DEST_PORT,
00152 DESTINATION,
00156 DONE_CODE,
00161 ERROR_DESC,
00165 EXIT_CODE,
00169 EXIT_STATUS,
00174 FROM,
00179 FROM_HOST,
00184 FROM_INSTANCE,
00189 HELPER_NAME,
00193 HELPER_PARAMS,
00197 HISTOGRAM,
00201 HOST,
00205 JDL,
00210 JOB,
00214 JOBID,
00218 JOB_EXIT_STATUS,
00222 JOB_PID,
00226 JOBSTAT,
00230 JOBTYPE,
00234 LEVEL,
00239 LOCAL_JOBID,
00246 NAME,
00250 NODE,
00254 NOTIFID,
00258 NS,
00262 NSUBJOBS,
00266 OPERATION,
00273 OWNER,
00277 PARENT,
00281 PERMISSION,
00285 PERMISSION_TYPE,
00289 PID,
00293 PREEMPTING,
00297 PRIORITY,
00303 QUANTITY,
00309 QUEUE,
00324 REASON,
00328 RESOURCE,
00334 RESULT,
00338 RETVAL,
00342 SCHEDULER,
00346 SEED,
00350 SEQCODE,
00354 SHADOW_EXIT_STATUS,
00358 SHADOW_HOST,
00363 SHADOW_PID,
00367 SHADOW_PORT,
00371 SHADOW_STATUS,
00375 SOURCE,
00379 SRC_INSTANCE,
00384 SRC_ROLE,
00388 STARTER_EXIT_STATUS,
00393 STARTER_PID,
00397 STATE,
00403 STATUS_CODE,
00407 SVC_HOST,
00411 SVC_NAME,
00415 SVC_PORT,
00420 TAG,
00424 TIMESTAMP,
00430 UNIT,
00434 UNIVERSE,
00439 USAGE,
00443 USER,
00447 USER_ID,
00451 USER_ID_TYPE,
00455 VALUE,
00459 WN_SEQ,
00460 ATTR_MAX
00462 };
00463
00465 enum ClearCode {
00466 CLEAR_USER,
00467 CLEAR_TIMEOUT,
00468 CLEAR_NOOUTPUT,
00469 };
00471 enum EnQueuedCode {
00472 ENQUEUED_START,
00473 ENQUEUED_OK,
00474 ENQUEUED_REFUSED,
00475 ENQUEUED_FAIL,
00476 };
00478 enum ResubmissionCode {
00479 RESUBMISSION_WILLRESUB,
00480 RESUBMISSION_WONTRESUB,
00481 RESUBMISSION_SHALLOW,
00482 };
00484 enum TransferCode {
00485 TRANSFER_START,
00486 TRANSFER_OK,
00487 TRANSFER_REFUSED,
00488 TRANSFER_FAIL,
00489 };
00491 enum CondorRejectCode {
00492 CONDORREJECT_NOMATCH,
00493 CONDORREJECT_OTHER,
00494 };
00496 enum CancelCode {
00497 CANCEL_REQ,
00498 CANCEL_REFUSE,
00499 CANCEL_DONE,
00500 CANCEL_ABORT,
00501 };
00503 enum DoneCode {
00504 DONE_OK,
00505 DONE_FAILED,
00506 DONE_CANCELLED,
00507 };
00509 enum RegJobCode {
00510 REGJOB_SIMPLE,
00511 REGJOB_DAG,
00512 REGJOB_PARTITIONABLE,
00513 REGJOB_PARTITIONED,
00514 REGJOB_COLLECTION,
00515 REGJOB_PBS,
00516 REGJOB_CONDOR,
00517 };
00519 enum CondorResourceUsageCode {
00520 CONDORRESOURCEUSAGE_REQUESTED,
00521 CONDORRESOURCEUSAGE_USED,
00522 };
00524 enum PBSResourceUsageCode {
00525 PBSRESOURCEUSAGE_REQUESTED,
00526 PBSRESOURCEUSAGE_USED,
00527 };
00529 enum HelperCallCode {
00530 HELPERCALL_CALLING,
00531 HELPERCALL_CALLED,
00532 };
00534 enum HelperReturnCode {
00535 HELPERRETURN_CALLING,
00536 HELPERRETURN_CALLED,
00537 };
00538
00540 enum AttrType { INT_T,
00541 STRING_T,
00542 TIMEVAL_T,
00544 PORT_T,
00545 LOGSRC_T,
00547 JOBID_T,
00548 NOTIFID_T,
00549 FLOAT_T,
00550 DOUBLE_T,
00551 };
00552
00553 Type type;
00559 Event(void);
00560
00566 Event(edg_wll_Event *);
00567
00573 Event(const Event &);
00574
00579 ~Event(void);
00580
00581
00588 Event & operator= (const Event &);
00589
00596 const std::string & name(void) const;
00597
00606 int getValInt(Attr name) const;
00607
00616 float getValFloat(Attr name) const;
00617
00626 double getValDouble(Attr name) const;
00627
00636 std::string getValString(Attr name) const;
00637
00644 struct timeval getValTime(Attr name) const;
00645
00654 const glite::wmsutils::jobid::JobId getValJobId(Attr name) const;
00655
00664 static const std::string & getAttrName(Attr name);
00665
00672 const std::vector<std::pair<Attr,AttrType> > & getAttrs(void) const;
00673
00682 static const std::string getEventName(Type type);
00683
00684 private:
00685 static void destroyFlesh(void *);
00686 CountRef<Event> *flesh;
00687 };
00688
00689 EWL_END_NAMESPACE
00690
00691 #endif