00001
00002
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