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.22.2 2010/03/16 09:12:22 zsustr Exp $"
00005 /*
00006 Copyright (c) Members of the EGEE Collaboration. 2004-2010.
00007 See http://www.eu-egee.org/partners for details on the copyright holders.
00008 
00009 Licensed under the Apache License, Version 2.0 (the "License");
00010 you may not use this file except in compliance with the License.
00011 You may obtain a copy of the License at
00012 
00013     http://www.apache.org/licenses/LICENSE-2.0
00014 
00015 Unless required by applicable law or agreed to in writing, software
00016 distributed under the License is distributed on an "AS IS" BASIS,
00017 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00018 See the License for the specific language governing permissions and
00019 limitations under the License.
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 /*      if adding new attribute, add conversion string to common/xml_conversions.c too !! */
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  *@} end of group
00197  */
00198 
00199 #ifdef __cplusplus
00200 }
00201 #endif
00202 
00203 #endif

Generated on Fri Aug 20 13:06:40 2010 for Glite LB Client: C - Interface by  doxygen 1.3.9.1