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 CONDORRUN,
00090 CONDORCHKPT,
00091 CONDOREVICT,
00092 CONDORTERMINATE,
00093 CONDORABORT,
00094 CONDORSUSPEND,
00095 CONDORUNSUSPEND,
00096 CONDORHOLD,
00097 CONDORRELEASE,
00098 CONDORNODEEXECUTE,
00099 CONDORNODETERMINATE,
00100 CONDORPOSTSCTIPTTERMINATE,
00101 CONDORGLOBUSSUBMIT,
00102 CONDORGLOBUSRESOURCE,
00103 TYPE_MAX
00104 };
00105
00112 enum Attr {
00116 ARRIVED,
00120 CHILD,
00124 CHILD_EVENT,
00128 CLASSAD,
00132 CONDOR_ID,
00136 DESCR,
00144 DEST_HOST,
00148 DEST_ID,
00152 DEST_INSTANCE,
00156 DEST_JOBID,
00160 DEST_PORT,
00164 DESTINATION,
00168 DONE_CODE,
00172 ERROR_DESC,
00176 EXIT_CODE,
00180 EXIT_STATUS,
00185 FROM,
00190 FROM_HOST,
00195 FROM_INSTANCE,
00200 HELPER_NAME,
00204 HELPER_PARAMS,
00208 HISTOGRAM,
00212 HOST,
00221 INFO,
00225 JDL,
00230 JOB,
00234 JOBID,
00238 JOBSTAT,
00242 JOBTYPE,
00246 LEVEL,
00251 LOCAL_JOBID,
00255 MATCHED_HOST,
00261 NAME,
00265 NODE,
00269 NOTIFID,
00273 NS,
00277 NSUBJOBS,
00281 OPERATION,
00288 OWNER,
00292 PARENT,
00296 PERMISSION,
00300 PERMISSION_TYPE,
00305 PID,
00309 PREEMPTING,
00313 PRIORITY,
00318 QUANTITY,
00324 QUEUE,
00346 REASON,
00350 RESOURCE,
00356 RESULT,
00360 RETVAL,
00365 SCHEDULER,
00369 SEED,
00373 SEQCODE,
00383 SHADOW_EXIT_STATUS,
00387 SOURCE,
00391 SRC_INSTANCE,
00396 SRC_ROLE,
00400 STATE,
00408 STATUS_CODE,
00412 SVC_HOST,
00416 SVC_NAME,
00420 SVC_PORT,
00425 TAG,
00429 TIMESTAMP,
00434 UNIT,
00438 UNIVERSE,
00442 USAGE,
00446 USER,
00450 USER_ID,
00454 USER_ID_TYPE,
00458 VALUE,
00462 WN_SEQ,
00463 ATTR_MAX
00465 };
00466
00468 enum ClearCode {
00469 CLEAR_USER,
00470 CLEAR_TIMEOUT,
00471 CLEAR_NOOUTPUT,
00472 };
00474 enum EnQueuedCode {
00475 ENQUEUED_START,
00476 ENQUEUED_OK,
00477 ENQUEUED_REFUSED,
00478 ENQUEUED_FAIL,
00479 };
00481 enum ResubmissionCode {
00482 RESUBMISSION_WILLRESUB,
00483 RESUBMISSION_WONTRESUB,
00484 RESUBMISSION_SHALLOW,
00485 };
00487 enum TransferCode {
00488 TRANSFER_START,
00489 TRANSFER_OK,
00490 TRANSFER_REFUSED,
00491 TRANSFER_FAIL,
00492 };
00494 enum CondorRejectCode {
00495 CONDORREJECT_NOMATCH,
00496 CONDORREJECT_OTHER,
00497 };
00499 enum CancelCode {
00500 CANCEL_REQ,
00501 CANCEL_REFUSE,
00502 CANCEL_DONE,
00503 CANCEL_ABORT,
00504 };
00506 enum CondorGlobusSubmitCode {
00507 CONDORGLOBUSSUBMIT_OK,
00508 CONDORGLOBUSSUBMIT_FAIL,
00509 };
00511 enum DoneCode {
00512 DONE_OK,
00513 DONE_FAILED,
00514 DONE_CANCELLED,
00515 };
00517 enum CondorGlobusResourceCode {
00518 CONDORGLOBUSRESOURCE_UP,
00519 CONDORGLOBUSRESOURCE_DOWN,
00520 };
00522 enum RegJobCode {
00523 REGJOB_SIMPLE,
00524 REGJOB_DAG,
00525 REGJOB_PARTITIONABLE,
00526 REGJOB_PARTITIONED,
00527 REGJOB_COLLECTION,
00528 REGJOB_PBS,
00529 REGJOB_CONDOR,
00530 };
00532 enum PBSResourceUsageCode {
00533 PBSRESOURCEUSAGE_REQUESTED,
00534 PBSRESOURCEUSAGE_USED,
00535 };
00537 enum HelperCallCode {
00538 HELPERCALL_CALLING,
00539 HELPERCALL_CALLED,
00540 };
00542 enum HelperReturnCode {
00543 HELPERRETURN_CALLING,
00544 HELPERRETURN_CALLED,
00545 };
00546
00548 enum AttrType { INT_T,
00549 STRING_T,
00550 TIMEVAL_T,
00552 PORT_T,
00553 LOGSRC_T,
00555 JOBID_T,
00556 NOTIFID_T,
00557 FLOAT_T,
00558 DOUBLE_T,
00559 };
00560
00561 Type type;
00567 Event(void);
00568
00574 Event(edg_wll_Event *);
00575
00581 Event(const Event &);
00582
00587 ~Event(void);
00588
00589
00596 Event & operator= (const Event &);
00597
00604 const std::string & name(void) const;
00605
00614 int getValInt(Attr name) const;
00615
00624 float getValFloat(Attr name) const;
00625
00634 double getValDouble(Attr name) const;
00635
00644 std::string getValString(Attr name) const;
00645
00652 struct timeval getValTime(Attr name) const;
00653
00662 const glite::wmsutils::jobid::JobId getValJobId(Attr name) const;
00663
00672 static const std::string & getAttrName(Attr name);
00673
00680 const std::vector<std::pair<Attr,AttrType> > & getAttrs(void) const;
00681
00690 static const std::string getEventName(Type type);
00691
00692 private:
00693 static void destroyFlesh(void *);
00694 CountRef<Event> *flesh;
00695 };
00696
00697 EWL_END_NAMESPACE
00698
00699 #endif