summaryrefslogtreecommitdiffstats
path: root/src/providers/backend.h
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2016-01-15 13:00:45 +0100
committerJakub Hrozek <jhrozek@redhat.com>2016-06-20 14:48:47 +0200
commitd3dee2a07f1a8ee9ae6f94e149ced754ef76c248 (patch)
treedcb92cf97dd70a4183d05258b9db0414b91d60a8 /src/providers/backend.h
parent565b9955cc439ade58cc24a98168060a60f33e7a (diff)
downloadsssd-d3dee2a07f1a8ee9ae6f94e149ced754ef76c248.tar.gz
sssd-d3dee2a07f1a8ee9ae6f94e149ced754ef76c248.tar.xz
sssd-d3dee2a07f1a8ee9ae6f94e149ced754ef76c248.zip
DP: Introduce new interface for backend
Terminology: * Backend: Implemenation of domain * Data Provider: interface between backend and responders * Module: ldap/ipa/ad/... dlopened library that implements dp interface * Target: id/autofs/sudo/... functionality of module Benefits over current code: * data provider is a black box completely separated from backend * method handlers are just simple tevent requests on backend side * no need of spy on be_client * simplified and error proof adding of new responders * simplified adding of new methods * reply to D-Bus message is completely handled by DP code * each target can have several methods defined * properties can be added on objects * each method can have output parameters * modules now support constructor * improved debugging * clear memory hierarchy * ability to chain requests * type safe private data Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/providers/backend.h')
-rw-r--r--src/providers/backend.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/providers/backend.h b/src/providers/backend.h
index cfb9044b5..e91ed9c3e 100644
--- a/src/providers/backend.h
+++ b/src/providers/backend.h
@@ -25,6 +25,7 @@
#include "providers/data_provider.h"
#include "providers/fail_over.h"
#include "providers/be_refresh.h"
+#include "providers/data_provider/dp.h"
#include "util/child_common.h"
#include "db/sysdb.h"
@@ -148,6 +149,8 @@ struct be_ctx {
/* List of ongoing requests */
struct be_req *active_requests;
+
+ struct data_provider *provider;
};
struct bet_ops {