00001 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_NOTIFICATION_H__
00002 #define __EDG_WORKLOAD_LOGGING_CLIENT_NOTIFICATION_H__
00003
00004 #ident "$Header: /cvs/glite/org.glite.lb.client-interface/interface/Attic/notification.h,v 1.4.22.2 2010/03/16 09:12:22 zsustr Exp $"
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "glite/wmsutils/jobid/cjobid.h"
00024 #include "glite/lb/notifid.h"
00025 #include "glite/lb/context.h"
00026 #include "glite/lb/consumer.h"
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00041 #define EDG_WLL_NOTIF_TIMEOUT_DEFAULT 120
00042 #define EDG_WLL_NOTIF_TIMEOUT_MAX 1800
00043
00044
00066 int edg_wll_NotifNew(
00067 edg_wll_Context context,
00068 edg_wll_QueryRec const * const *conditions,
00069 int fd,
00070 const char *address_override,
00071 edg_wll_NotifId *id_out,
00072 time_t *valid
00073 );
00074
00075
00086 int edg_wll_NotifBind(
00087 edg_wll_Context context,
00088 const edg_wll_NotifId id,
00089 int fd,
00090 const char *address_override,
00091 time_t *valid
00092 );
00093
00094 typedef enum _edg_wll_NotifChangeOp {
00096 EDG_WLL_NOTIF_NOOP = 0,
00098 EDG_WLL_NOTIF_REPLACE,
00100 EDG_WLL_NOTIF_ADD,
00102 EDG_WLL_NOTIF_REMOVE
00103
00104 } edg_wll_NotifChangeOp;
00105
00118 int edg_wll_NotifChange(
00119 edg_wll_Context context,
00120 const edg_wll_NotifId id,
00121 edg_wll_QueryRec const * const * conditions,
00122 edg_wll_NotifChangeOp op
00123 );
00124
00132 int edg_wll_NotifRefresh(
00133 edg_wll_Context context,
00134 const edg_wll_NotifId id,
00135 time_t *valid
00136 );
00137
00145 int edg_wll_NotifDrop(
00146 edg_wll_Context context,
00147 edg_wll_NotifId id
00148 );
00149
00162 int edg_wll_NotifReceive(
00163 edg_wll_Context context,
00164 int fd,
00165 const struct timeval *timeout,
00166 edg_wll_JobStat *state_out,
00167 edg_wll_NotifId *id_out
00168 );
00169
00170
00181 int edg_wll_NotifGetFd(
00182 edg_wll_Context context
00183 );
00184
00191 int edg_wll_NotifCloseFd(
00192 edg_wll_Context context
00193 );
00194
00195
00196
00197
00198
00199 #ifdef __cplusplus
00200 }
00201 #endif
00202
00203 #endif