summaryrefslogtreecommitdiffstats
path: root/server/infopipe/infopipe.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2009-03-06 09:39:42 -0500
committerSimo Sorce <ssorce@redhat.com>2009-03-06 12:37:08 -0500
commitb8c2c7e5c3a323d2d4982353ea79ad2eda1b9cc8 (patch)
tree40ff63977b351e0458c15434cbf27a3af5683775 /server/infopipe/infopipe.c
parent88f6f6db02c76f4f9d17cbd665b951cdccaaa39e (diff)
downloadsssd-b8c2c7e5c3a323d2d4982353ea79ad2eda1b9cc8.tar.gz
sssd-b8c2c7e5c3a323d2d4982353ea79ad2eda1b9cc8.tar.xz
sssd-b8c2c7e5c3a323d2d4982353ea79ad2eda1b9cc8.zip
Add infp_req_init() function to simplify method setup
Diffstat (limited to 'server/infopipe/infopipe.c')
-rw-r--r--server/infopipe/infopipe.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/server/infopipe/infopipe.c b/server/infopipe/infopipe.c
index 2972b565c..09ffcbdf6 100644
--- a/server/infopipe/infopipe.c
+++ b/server/infopipe/infopipe.c
@@ -247,6 +247,30 @@ done:
return ret;
}
+struct infp_req_ctx *infp_req_init(TALLOC_CTX *mem_ctx, DBusMessage *message, struct sbus_conn_ctx *sconn)
+{
+ struct infp_req_ctx *infp_req;
+
+ /* Create an infp_req_ctx */
+ infp_req = talloc_zero(mem_ctx, struct infp_req_ctx);
+ if (infp_req == NULL) {
+ return NULL;
+ }
+
+ infp_req->infp = talloc_get_type(sbus_conn_get_private_data(sconn), struct infp_ctx);
+ infp_req->sconn = sconn;
+ infp_req->req_message = message;
+ infp_req->caller = sysbus_get_caller(infp_req,
+ infp_req->req_message,
+ infp_req->sconn);
+ if (infp_req->caller == NULL) {
+ talloc_free(infp_req);
+ return NULL;
+ }
+
+ return infp_req;
+}
+
static int infp_process_init(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct confdb_ctx *cdb)