From b0b388f6809c5b4ffd6bfb7df530aa7fc1e9a469 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20K=C5=99enek?= Date: Mon, 30 Jul 2007 17:42:05 +0000 Subject: [PATCH] Static-forever assignment of Event::Attr enum values --- org.glite.lb.client-interface/interface/Event.h.T | 10 ++- .../src/EventAttrNames.pl | 83 ++++++++++++++++++++++ 2 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 org.glite.lb.client-interface/src/EventAttrNames.pl diff --git a/org.glite.lb.client-interface/interface/Event.h.T b/org.glite.lb.client-interface/interface/Event.h.T index f60dfdc..4639868 100644 --- a/org.glite.lb.client-interface/interface/Event.h.T +++ b/org.glite.lb.client-interface/interface/Event.h.T @@ -62,6 +62,14 @@ public: */ enum Attr { @@@{ + + require "../src/EventAttrNames.pl"; + my %EventAttrNums; + my $evno = 0; + for (@main::EventAttrNames) { + $EventAttrNums{$_} = $evno++; + } + for (sort {$a cmp $b} getAllFields $event) { my $u = $_; # $u =~ s/([a-z])([A-Z])/$1_$2/g; @@ -76,7 +84,7 @@ public: } $c .= "\t */\n"; - gen "$c\t\t$u,\n"; + gen "$c\t\t$u = $EventAttrNums{$u},\n"; } @@@} ATTR_MAX /**< Limit for checking attribute code diff --git a/org.glite.lb.client-interface/src/EventAttrNames.pl b/org.glite.lb.client-interface/src/EventAttrNames.pl new file mode 100644 index 0000000..1fc8620 --- /dev/null +++ b/org.glite.lb.client-interface/src/EventAttrNames.pl @@ -0,0 +1,83 @@ +# The order of strings in this array determines assigned numeric value in the Event::Attr enum. +# It must not be changed unless API major number is incremented + +@main::EventAttrNames = qw/ + ARRIVED + CHILD + CHILD_EVENT + CLASSAD + DESCR + DEST_HOST + DEST_ID + DEST_INSTANCE + DEST_JOBID + DEST_PORT + DESTINATION + DONE_CODE + ERROR_DESC + EXIT_CODE + EXIT_STATUS + FROM + FROM_HOST + FROM_INSTANCE + HELPER_NAME + HELPER_PARAMS + HISTOGRAM + HOST + JDL + JOB + JOBID + JOB_EXIT_STATUS + JOB_PID + JOBSTAT + JOBTYPE + LEVEL + LOCAL_JOBID + NAME + NODE + NOTIFID + NS + NSUBJOBS + OPERATION + OWNER + PARENT + PERMISSION + PERMISSION_TYPE + PID + PREEMPTING + PRIORITY + QUANTITY + QUEUE + REASON + RESOURCE + RESULT + RETVAL + SCHEDULER + SEED + SEQCODE + SHADOW_EXIT_STATUS + SHADOW_HOST + SHADOW_PID + SHADOW_PORT + SHADOW_STATUS + SOURCE + SRC_INSTANCE + SRC_ROLE + STARTER_EXIT_STATUS + STARTER_PID + STATE + STATUS_CODE + SVC_HOST + SVC_NAME + SVC_PORT + TAG + TIMESTAMP + UNIT + UNIVERSE + USAGE + USER + USER_ID + USER_ID_TYPE + VALUE + WN_SEQ +/; -- 1.8.2.3