ifp_domains.c revision 590582be38cdbfde387fcc57df92903d48c5a083
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd Jakub Hrozek <jhrozek@redhat.com>
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd Pavel Březina <pbrezina@redhat.com>
6ae232055d4d8a97267517c5e50074c2c819941and Copyright (C) 2014 Red Hat
6ae232055d4d8a97267517c5e50074c2c819941and This program is free software; you can redistribute it and/or modify
6ae232055d4d8a97267517c5e50074c2c819941and it under the terms of the GNU General Public License as published by
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc the Free Software Foundation; either version 3 of the License, or
6ae232055d4d8a97267517c5e50074c2c819941and (at your option) any later version.
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen This program is distributed in the hope that it will be useful,
2e545ce2450a9953665f701bb05350f0d3f26275nd but WITHOUT ANY WARRANTY; without even the implied warranty of
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen GNU General Public License for more details.
6ae232055d4d8a97267517c5e50074c2c819941and You should have received a copy of the GNU General Public License
6ae232055d4d8a97267517c5e50074c2c819941and along with this program. If not, see <http://www.gnu.org/licenses/>.
11495c9f0bd33e51a25b4d532beadfbcf9b944a3nilgunstatic void ifp_list_domains_process(struct tevent_req *req);
6ae232055d4d8a97267517c5e50074c2c819941and "Invalid ifp context!");
6ae232055d4d8a97267517c5e50074c2c819941and req = sss_dp_get_domains_send(ireq, ifp_ctx->rctx, false, NULL);
6ae232055d4d8a97267517c5e50074c2c819941and tevent_req_set_callback(req, ifp_list_domains_process, ireq);
6ae232055d4d8a97267517c5e50074c2c819941andstatic void ifp_list_domains_process(struct tevent_req *req)
6ae232055d4d8a97267517c5e50074c2c819941and const char **paths;
6ae232055d4d8a97267517c5e50074c2c819941and error = sbus_error_new(ireq->dbus_req, DBUS_ERROR_FAILED,
6ae232055d4d8a97267517c5e50074c2c819941and "Failed to refresh domain objects\n");
1f1b6bf13313fdd14a45e52e553d3ff28689b717coar ret = sysdb_master_domain_update(ireq->ifp_ctx->rctx->domains);
6ae232055d4d8a97267517c5e50074c2c819941and error = sbus_error_new(ireq->dbus_req, DBUS_ERROR_FAILED,
070897b4d34cbd17fd2846289189f2a9891f9c84takashi "Failed to refresh subdomain list\n");
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh sbus_request_fail_and_finish(ireq->dbus_req, error);
6ae232055d4d8a97267517c5e50074c2c819941and paths = talloc_zero_array(ireq, const char *, num_domains);
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashi p = ifp_reply_objpath(ireq, INFOPIPE_DOMAIN_PATH_PFX, dom->name);
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashi if (p == NULL) {
6ae232055d4d8a97267517c5e50074c2c819941and "Could not create path for dom %s, skipping\n", dom->name);
6ae232055d4d8a97267517c5e50074c2c819941and ret = infopipe_iface_ListDomains_finish(ireq->dbus_req, paths, num_domains);
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashi const char *name;
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashistatic void ifp_find_domain_by_name_process(struct tevent_req *req);
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashiint ifp_find_domain_by_name(struct sbus_request *dbus_req,
6a3ab831a34f470b077294a173f24fcf1e5f0a3ctakashi const char *arg_name)
727872d18412fc021f03969b8641810d8896820bhumbedooh "Invalid ifp context!");
727872d18412fc021f03969b8641810d8896820bhumbedooh error = sbus_error_new(dbus_req, DBUS_ERROR_FAILED,
205f749042ed530040a4f0080dbcb47ceae8a374rjung req = sss_dp_get_domains_send(ireq, ifp_ctx->rctx, false, NULL);
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd tevent_req_set_callback(req, ifp_find_domain_by_name_process, state);
const char *path;