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

/extra/work/state-dev/src/sos/sos_notifs.h

00001 /* ----------------------------------------------------------------------------
00002  * $Id: sos_notifs.h,v 1.8 2003/10/06 20:47:43 jlewalle Exp $
00003  *
00004  * --------------------------------------------------------------------------*/
00005 #if !defined(_INCLUDED_SOS_NOTIFS_H_HEADER__)
00006 #define _INCLUDED_SOS_NOTIFS_H_HEADER__
00007 
00008 SUL_PEER_DECLARE(vital_pending_notifs);
00009 
00019 typedef struct sos_pending_notif_t
00020 {
00021   sul_key_t identifier;
00022   sul_key_t node_id;
00023   sul_key_t vital_id;
00024   sul_key_t history_id;
00025   char *type;
00026   apr_int32_t interval;
00027   apr_time_t creation_stamp;
00028   apr_time_t fresh_stamp;
00029 } sos_pending_notif_t;
00030 
00041 SOS_DECLARE(sos_pending_notif_t *)
00042 sos_pending_notif_create(sul_key_t node_id, sul_key_t vital_id,
00043                          sul_key_t history_id, const char *type,
00044                          apr_int32_t interval, apr_pool_t *pool);
00045 
00054 SOS_DECLARE(sul_error_t *)
00055 sos_pending_notif_get_all(apr_array_header_t **array, sos_fs_txn_t *txn,
00056                           apr_pool_t *pool);
00057 
00058 
00067 SOS_DECLARE(sul_error_t *)
00068 sos_pending_notif_save(sos_pending_notif_t *notif, sos_fs_txn_t *txn,
00069                        apr_pool_t *pool);
00070 
00078 SOS_DECLARE(sul_error_t *)
00079 sos_pending_notif_delete_all(sos_fs_txn_t *txn, apr_pool_t *pool);
00080 
00089 SOS_DECLARE(sul_error_t *)
00090 sos_pending_notif_delete_others(sos_pending_notif_t *notif, sos_fs_txn_t *txn,
00091                                 apr_pool_t *pool);
00092 
00101 SOS_DECLARE(sul_error_t *)
00102 sos_pending_notif_delete(sos_pending_notif_t *notif, sos_fs_txn_t *txn,
00103                          apr_pool_t *pool);
00104 
00113 SOS_DECLARE(sul_error_t *)
00114 sos_pending_notif_check(sos_pending_notif_t *notif, sos_fs_txn_t *txn,
00115                         apr_pool_t *pool);
00116 
00126 SOS_DECLARE(sul_error_t *)
00127 sos_pending_notif_are_fresher(apr_int32_t *fresher, sul_key_t target_id,
00128                               apr_array_header_t *arr, sos_fs_txn_t *txn,
00129                               apr_pool_t *pool);
00130 
00140 SOS_DECLARE(sul_error_t *)
00141 sos_pending_notif_get_for_nodes(apr_array_header_t **notifs,
00142                                 apr_array_header_t *arr, sos_fs_txn_t *txn,
00143                                 apr_pool_t *pool);
00144 
00154 SOS_DECLARE(sul_error_t *)
00155 sos_pending_notif_delete_for_nodes(apr_array_header_t *arr, sos_fs_txn_t *txn,
00156                                    apr_pool_t *pool);
00157 
00158 SOS_DECLARE(sul_error_t *)
00159 sos_pending_notif_vital_is_fresher(sos_pending_notif_t *notif, 
00160                                    sos_vital_t *vital, 
00161                                    apr_int32_t *fresher, 
00162                                    sos_fs_txn_t *txn, apr_pool_t *pool);
00163 
00166 #endif

Generated on Wed Apr 28 09:38:33 2004 for State by doxygen 1.3.5