From b79e0e50a935d108173ca3062f2afe16103fcb1d Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Mon, 13 May 2013 10:05:00 +0200 Subject: back end: periodical refresh of expired records API https://fedorahosted.org/sssd/ticket/1713 --- src/providers/dp_refresh.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/providers/dp_refresh.h (limited to 'src/providers/dp_refresh.h') diff --git a/src/providers/dp_refresh.h b/src/providers/dp_refresh.h new file mode 100644 index 00000000..cae2f787 --- /dev/null +++ b/src/providers/dp_refresh.h @@ -0,0 +1,66 @@ +/* + Authors: + Pavel Březina + + Copyright (C) 2013 Red Hat + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef _DP_REFRESH_H_ +#define _DP_REFRESH_H_ + +#include +#include + +#include "providers/dp_backend.h" +#include "providers/dp_ptask.h" + +/** + * name_list contains SYSDB_NAME of all expired records. + */ +typedef struct tevent_req * +(*be_refresh_send_t)(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct be_ctx *be_ctx, + char **values, + void *pvt); + +typedef errno_t +(*be_refresh_recv_t)(struct tevent_req *req); + +enum be_refresh_type { + BE_REFRESH_TYPE_NETGROUPS, + BE_REFRESH_TYPE_SENTINEL +}; + +struct be_refresh_ctx; + +struct be_refresh_ctx *be_refresh_ctx_init(TALLOC_CTX *mem_ctx); + +errno_t be_refresh_add_cb(struct be_refresh_ctx *ctx, + enum be_refresh_type type, + be_refresh_send_t send, + be_refresh_recv_t recv, + void *pvt); + +struct tevent_req *be_refresh_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct be_ctx *be_ctx, + struct be_ptask *be_ptask, + void *pvt); + +errno_t be_refresh_recv(struct tevent_req *req); + +#endif /* _DP_REFRESH_H_ */ -- cgit