Main Page | Modules | Data Structures | File List | Data Fields | Globals

notification.h

Go to the documentation of this file.
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 2005/08/03 09:30:10 akrenek Exp $"
00005 
00006 #include "glite/wmsutils/jobid/cjobid.h"
00007 #include "glite/lb/notifid.h"
00008 #include "glite/lb/context.h"
00009 #include "glite/lb/consumer.h"
00010 
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014 
00024 #define EDG_WLL_NOTIF_TIMEOUT_DEFAULT   120
00025 #define EDG_WLL_NOTIF_TIMEOUT_MAX       1800
00026 
00027 
00049 int edg_wll_NotifNew(
00050         edg_wll_Context         context,
00051         edg_wll_QueryRec        const * const *conditions,
00052         int                     fd,
00053         const char              *address_override,
00054         edg_wll_NotifId         *id_out,
00055         time_t                  *valid
00056 );
00057 
00058 
00069 int edg_wll_NotifBind(
00070         edg_wll_Context         context,
00071         const edg_wll_NotifId   id,
00072         int                     fd,
00073         const char              *address_override,
00074         time_t                  *valid
00075 );
00076 
00077 typedef enum _edg_wll_NotifChangeOp {
00079         EDG_WLL_NOTIF_NOOP = 0,
00081         EDG_WLL_NOTIF_REPLACE,
00083         EDG_WLL_NOTIF_ADD,
00085         EDG_WLL_NOTIF_REMOVE
00086 /*      if adding new attribute, add conversion string to common/xml_conversions.c too !! */
00087 } edg_wll_NotifChangeOp;
00088 
00101 int edg_wll_NotifChange(
00102         edg_wll_Context         context,
00103         const edg_wll_NotifId   id,
00104         edg_wll_QueryRec        const * const * conditions,
00105         edg_wll_NotifChangeOp   op
00106 );
00107 
00115 int edg_wll_NotifRefresh(
00116         edg_wll_Context         context,
00117         const edg_wll_NotifId   id,
00118         time_t                  *valid
00119 );
00120 
00128 int edg_wll_NotifDrop(
00129         edg_wll_Context         context,
00130         edg_wll_NotifId         *id
00131 );
00132 
00145 int edg_wll_NotifReceive(
00146         edg_wll_Context         context,
00147         int                     fd,
00148         const struct timeval    *timeout,
00149         edg_wll_JobStat         *state_out,
00150         edg_wll_NotifId         *id_out
00151 );
00152 
00153 
00164 int edg_wll_NotifGetFd(
00165         edg_wll_Context         context
00166 );
00167 
00174 int edg_wll_NotifCloseFd(
00175         edg_wll_Context         context
00176 );
00177 
00178 /*
00179  *@} end of group
00180  */
00181 
00182 #ifdef __cplusplus
00183 }
00184 #endif
00185 
00186 #endif

Generated on Mon May 5 15:16:51 2008 for Glite LB Client: C - Interface by  doxygen 1.3.9.1