/*
    Generated by sbus code generator

    Copyright (C) 2017 Red Hat

    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 _SBUS_DBUS_ARGUMENTS_H_
#define _SBUS_DBUS_ARGUMENTS_H_

#include <errno.h>
#include <stdint.h>
#include <talloc.h>
#include <stdbool.h>
#include <dbus/dbus.h>


struct _sbus_dbus_invoker_args_as {
    const char ** arg0;
};

errno_t
_sbus_dbus_invoker_read_as
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_as *args);

errno_t
_sbus_dbus_invoker_write_as
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_as *args);

struct _sbus_dbus_invoker_args_b {
    bool arg0;
};

errno_t
_sbus_dbus_invoker_read_b
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_b *args);

errno_t
_sbus_dbus_invoker_write_b
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_b *args);

struct _sbus_dbus_invoker_args_s {
    const char * arg0;
};

errno_t
_sbus_dbus_invoker_read_s
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_s *args);

errno_t
_sbus_dbus_invoker_write_s
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_s *args);

struct _sbus_dbus_invoker_args_ss {
    const char * arg0;
    const char * arg1;
};

errno_t
_sbus_dbus_invoker_read_ss
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_ss *args);

errno_t
_sbus_dbus_invoker_write_ss
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_ss *args);

struct _sbus_dbus_invoker_args_sss {
    const char * arg0;
    const char * arg1;
    const char * arg2;
};

errno_t
_sbus_dbus_invoker_read_sss
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_sss *args);

errno_t
_sbus_dbus_invoker_write_sss
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_sss *args);

struct _sbus_dbus_invoker_args_su {
    const char * arg0;
    uint32_t arg1;
};

errno_t
_sbus_dbus_invoker_read_su
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_su *args);

errno_t
_sbus_dbus_invoker_write_su
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_su *args);

struct _sbus_dbus_invoker_args_u {
    uint32_t arg0;
};

errno_t
_sbus_dbus_invoker_read_u
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_u *args);

errno_t
_sbus_dbus_invoker_write_u
   (DBusMessageIter *iter,
    struct _sbus_dbus_invoker_args_u *args);

#endif /* _SBUS_DBUS_ARGUMENTS_H_ */
