diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2009-01-19 13:33:28 -0500 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2009-01-27 08:39:48 -0500 |
commit | d9f203e045c63c853ae60b47fb8013e92600c9f9 (patch) | |
tree | 7351223712002fdb31ce1787ad59ea65e051bb53 /server/util | |
parent | f52c3c6a93f673ba422f5eee1788e2f5b70b3a6a (diff) | |
download | sssd-d9f203e045c63c853ae60b47fb8013e92600c9f9.tar.gz sssd-d9f203e045c63c853ae60b47fb8013e92600c9f9.tar.bz2 sssd-d9f203e045c63c853ae60b47fb8013e92600c9f9.zip |
Refactoring the monitor code and SBUS utility functions.
Diffstat (limited to 'server/util')
-rw-r--r-- | server/util/service_helpers.c | 91 | ||||
-rw-r--r-- | server/util/service_helpers.h | 39 |
2 files changed, 0 insertions, 130 deletions
diff --git a/server/util/service_helpers.c b/server/util/service_helpers.c deleted file mode 100644 index 9f07abd7..00000000 --- a/server/util/service_helpers.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - SSSD - - Service monitor - - Copyright (C) Stephen Gallagher 2008 - - 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 <http://www.gnu.org/licenses/>. - */ - -#include "util/util.h" -#include "talloc.h" -#include "sbus/sssd_dbus.h" -#include "confdb/confdb.h" -#include "service_helpers.h" -#include "sbus_interfaces.h" - -struct event_context; - -/* - * Set up an SBUS connection to the monitor - */ -struct service_sbus_ctx *sssd_service_sbus_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, - struct confdb_ctx *cdb, - struct sbus_method *methods, - sbus_conn_destructor_fn destructor) -{ - struct service_sbus_ctx *ss_ctx; - struct sbus_method_ctx *sm_ctx; - TALLOC_CTX *ctx; - char *sbus_address; - char *default_monitor_address; - DBusConnection *conn; - int ret; - - ctx = talloc_new(mem_ctx); - if (ctx == NULL) goto error; - - ss_ctx = talloc_zero(ctx, struct service_sbus_ctx); - if (ss_ctx == NULL) return NULL; - - default_monitor_address = talloc_asprintf(ctx, "unix:path=%s/%s", - PIPE_PATH, SSSD_SERVICE_PIPE); - if (default_monitor_address == NULL) goto error; - - ret = confdb_get_string(cdb, ctx, - "config/services/monitor", "sbusAddress", - default_monitor_address, &sbus_address); - if (ret != EOK) goto error; - ss_ctx->ev = ev; - - ret = sbus_new_connection(ss_ctx, ss_ctx->ev, - sbus_address, &ss_ctx->scon_ctx, - destructor); - if (ret != EOK) goto error; - - conn = sbus_get_connection(ss_ctx->scon_ctx); - - /* set up handler for service methods */ - sm_ctx = talloc_zero(ss_ctx, struct sbus_method_ctx); - if (sm_ctx == NULL) goto error; - - sm_ctx->interface = talloc_strdup(sm_ctx, SERVICE_INTERFACE); - sm_ctx->path = talloc_strdup(sm_ctx, SERVICE_PATH); - if (!sm_ctx->interface || !sm_ctx->path) goto error; - - /* Set up required monitor methods and handlers */ - sm_ctx->methods = methods; - sm_ctx->message_handler = sbus_message_handler; - sbus_conn_add_method_ctx(ss_ctx->scon_ctx, sm_ctx); - - talloc_steal(mem_ctx,ss_ctx); - talloc_free(ctx); - return ss_ctx; - -error: - talloc_free(ctx); - return NULL; -} diff --git a/server/util/service_helpers.h b/server/util/service_helpers.h deleted file mode 100644 index 05777ea2..00000000 --- a/server/util/service_helpers.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - SSSD - - Service monitor - - Copyright (C) Stephen Gallagher 2008 - - 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 <http://www.gnu.org/licenses/>. - */ - -#ifndef SERVICE_HELPERS_H_ -#define SERVICE_HELPERS_H_ - -struct service_sbus_ctx { - struct event_context *ev; - struct sbus_conn_ctx *scon_ctx; -}; - -/* - * Set up an SBUS connection to the monitor - */ -struct service_sbus_ctx *sssd_service_sbus_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, - struct confdb_ctx *cdb, - struct sbus_method *methods, - sbus_conn_destructor_fn destructor); - -#endif /*SERVICE_HELPERS_H_*/ |