/*
Authors:
Pavel Březina <pbrezina@redhat.com>
Copyright (C) 2014 Red Hat
SBUS: Interface introspection
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 "config.h"
#include <errno.h>
#include "sbus/sssd_dbus.h"
#include "sbus/sssd_dbus_meta.h"
#include "sbus/sssd_dbus_private.h"
#include "sbus/sssd_dbus_invokers.h"
static int
void *function_ptr,
void *value_ptr,
int dbus_type,
{
void (*handler_fn)(struct sbus_request *, void *, void *);
if (dbus_type == DBUS_TYPE_BOOLEAN) {
/* Special case to convert bool into dbus_bool_t. */
value_bool = *((bool *) value_ptr);
value_ptr = &value_bool;
}
}
static int
void *function_ptr,
const char *default_value,
int dbus_type,
{
void (*handler_fn)(struct sbus_request *, void *, const char **);
}
static int
void *function_ptr,
unsigned int item_size,
int dbus_type,
{
void (*handler_fn)(struct sbus_request *, void *, void *, int *);
void *addr;
int num_values;
int i;
array_type, &array);
if (!dbret) {
return EIO;
}
for (i = 0; i < num_values; i++) {
if (!dbret) {
return ENOMEM;
}
}
if (!dbret) {
return EIO;
}
return EOK;
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
bool value;
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
double value;
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
}
struct sbus_request *sbus_req,
void *function_ptr)
{
const char **values;
int i;
if (!dbret) {
goto done;
}
/* iterate over keys */
if (!dbret) {
goto done;
}
goto done;
}
continue;
}
&it_dict);
if (!dbret) {
goto done;
}
/* append key as dict entry key */
if (!dbret) {
goto done;
}
/* iterate over values */
&it_values);
if (!dbret) {
goto done;
}
/* append value into array */
&values[i]);
if (!dbret) {
goto done;
}
}
if (!dbret) {
goto done;
}
if (!dbret) {
goto done;
}
}
if (!dbret) {
goto done;
}
done:
return ret;
}
const char *type,
{
goto fail;
}
if (!dbret) {
goto fail;
}
goto fail;
}
if (!dbret) {
goto fail;
}
return;
fail:
}
return;
}
{
int i;
goto fail;
}
&array);
if (!dbret) {
goto fail;
}
&dict);
if (!dbret) {
goto fail;
}
/* key */
if (!dbret) {
goto fail;
}
/* value */
if (!dbret) {
goto fail;
}
props[i].vtable_offset_get);
if (handler_fn == NULL) {
ret = ERR_INTERNAL;
goto fail;
}
goto fail;
}
if (!dbret) {
goto fail;
}
if (!dbret) {
goto fail;
}
}
}
if (!dbret) {
goto fail;
}
return;
fail:
return;
}