b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter Stef Walter <stefw@redhat.com>
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter Copyright (C) 2014 Red Hat
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter This program is free software; you can redistribute it and/or modify
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter it under the terms of the GNU General Public License as published by
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter the Free Software Foundation; either version 3 of the License, or
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter (at your option) any later version.
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter This program is distributed in the hope that it will be useful,
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter but WITHOUT ANY WARRANTY; without even the implied warranty of
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter GNU General Public License for more details.
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter You should have received a copy of the GNU General Public License
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter along with this program. If not, see <http://www.gnu.org/licenses/>.
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * Interface metadata
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * For arrays, the last item in each array will have a
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * NULL .name field
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * Typically these structs will be generated by sbus_codegen
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * from canonical XML interface data:
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter * http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
886d29fced0bcc1668a3cb99a5bca66ea486b3a4Jakub Hrozek/* Looks up a vtable func, in a struct derived from struct sbus_vtable */
0f495aa73529b06b0a8b4c39cfd098351c4f6760Michal Zidek (*(DISCARD_ALIGN((char *)(vtable) + (offset), void **)))
df4e1db5d41c903ae57fd880acc76a0ad84aa7b2Pavel Březinatypedef int (* sbus_get_invoker_fn)(DBusMessageIter *iter,
df4e1db5d41c903ae57fd880acc76a0ad84aa7b2Pavel Březinatypedef void (* sbus_get_all_invoker_fn)(struct sbus_request *sbus_req);
df4e1db5d41c903ae57fd880acc76a0ad84aa7b2Pavel Březinatypedef int (* sbus_method_invoker_fn)(struct sbus_request *sbus_req,
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Waltersbus_meta_find_method (const struct sbus_interface_meta *interface,
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Waltersbus_meta_find_signal (const struct sbus_interface_meta *interface,
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Waltersbus_meta_find_property (const struct sbus_interface_meta *interface,
b699c4d7f85a5404be1d1ee9450331aea869b886Stef Walter#endif /* _SSSD_DBUS_META_H_ */