3
* Copyright © 2009 Scott James Remnant <scott@netsplit.com>.
4
* Copyright © 2009 Canonical Ltd.
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2, as
8
* published by the Free Software Foundation.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
#ifndef NIH_DBUS_TOOL_NODE_H
21
#define NIH_DBUS_TOOL_NODE_H
25
#include <nih/macros.h>
28
#include "interface.h"
33
* @path: D-Bus path of node,
34
* @interfaces: interfaces the node implements.
36
* A node is the top-level tag in D-Bus introspection data and represents
37
* a specific D-Bus object with the path given in @path.
47
int node_path_valid (const char *name);
49
Node * node_new (const void *parent, const char *path)
50
__attribute__ ((warn_unused_result, malloc));
52
int node_start_tag (XML_Parser xmlp, const char *tag,
54
__attribute__ ((warn_unused_result));
55
int node_end_tag (XML_Parser xmlp, const char *tag)
56
__attribute__ ((warn_unused_result));
58
Interface *node_lookup_interface (Node *node, const char *symbol);
60
char * node_interfaces_array (const void *parent, const char *prefix,
61
Node *node, int object, NihList *prototypes)
62
__attribute__ ((warn_unused_result, malloc));
64
char * node_object_functions (const void *parent, const char *prefix,
66
NihList *prototypes, NihList *handlers,
67
NihList *structs, NihList *externs)
68
__attribute__ ((warn_unused_result, malloc));
69
char * node_proxy_functions (const void *parent, const char *prefix,
71
NihList *prototypes, NihList *structs,
72
NihList *typedefs, NihList *externs)
73
__attribute__ ((warn_unused_result, malloc));
77
#endif /* NIH_DBUS_TOOL_NODE_H */