sssd_dbus_interface.c revision 894f09f146f0c9cda9e0f7dfe1916519d73dde72
/*
Authors:
Pavel Březina <pbrezina@redhat.com>
Copyright (C) 2014 Red Hat
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 <talloc.h>
#include "sbus/sssd_dbus.h"
#include "sbus/sssd_dbus_private.h"
const char *path)
{
struct sbus_interface_p *iter;
return false;
}
return true;
}
}
return false;
}
{
}
}
/**
* Object paths that represent all objects under the path:
*/
static bool sbus_opath_is_subtree(const char *path)
{
if (len < 2) {
return false;
}
}
static bool sbus_opath_match_tree(const char *object_path,
const char *tree_path)
{
return false;
};
/* first check if tree is a base path or a subtree path */
if (!sbus_opath_is_subtree(tree_path)) {
}
/* Compare without the asterisk, which is the last character.
* Slash, that has to be present before the asterisk, will ensure that only
* subtree object path matches. */
}
/**
* If the path represents a subtree object path, this function will
* remove /~* from the end.
*/
const char *object_path)
{
char *tree_path;
return NULL;
}
if (!sbus_opath_is_subtree(tree_path)) {
return tree_path;
}
/* replace / only if it is not a root path (only slash) */
return tree_path;
}
const char *path)
{
}
}
static struct sbus_interface *
const char *object_path,
struct sbus_vtable *iface_vtable,
void *instance_data)
{
struct sbus_interface *intf;
return NULL;
}
return NULL;
}
return intf;
}
struct sbus_vtable *iface_vtable,
const char *object_path,
void *pvt)
{
struct sbus_interface_p *intf_p;
struct sbus_interface *intf;
const char *path;
bool fallback;
return ENOMEM;
}
return EINVAL;
}
"Cannot add method context with identical path.\n");
return EINVAL;
}
if (!intf_p) {
return ENOMEM;
}
return ENOMEM;
}
if (fallback) {
intf_p);
} else {
intf_p);
}
if (!dbret) {
"Could not register object path to the connection.\n");
return ENOMEM;
}
return EOK;
}