1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 2 /* dbus-object-tree.h DBusObjectTree (internals of DBusConnection) 3 * 4 * Copyright (C) 2003 Red Hat Inc. 5 * 6 * Licensed under the Academic Free License version 2.1 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 * 22 */ 23 #ifndef DBUS_OBJECT_TREE_H 24 #define DBUS_OBJECT_TREE_H 25 26 #include <dbus/dbus-connection.h> 27 28 DBUS_BEGIN_DECLS 29 30 typedef struct DBusObjectTree DBusObjectTree; 31 32 DBusObjectTree* _dbus_object_tree_new (DBusConnection *connection); 33 DBusObjectTree* _dbus_object_tree_ref (DBusObjectTree *tree); 34 void _dbus_object_tree_unref (DBusObjectTree *tree); 35 36 dbus_bool_t _dbus_object_tree_register (DBusObjectTree *tree, 37 dbus_bool_t fallback, 38 const char **path, 39 const DBusObjectPathVTable *vtable, 40 void *user_data, 41 DBusError *error); 42 void _dbus_object_tree_unregister_and_unlock (DBusObjectTree *tree, 43 const char **path); 44 DBusHandlerResult _dbus_object_tree_dispatch_and_unlock (DBusObjectTree *tree, 45 DBusMessage *message, 46 dbus_bool_t *found_object); 47 void* _dbus_object_tree_get_user_data_unlocked (DBusObjectTree *tree, 48 const char **path); 49 void _dbus_object_tree_free_all_unlocked (DBusObjectTree *tree); 50 51 52 dbus_bool_t _dbus_object_tree_list_registered_and_unlock (DBusObjectTree *tree, 53 const char **parent_path, 54 char ***child_entries); 55 56 dbus_bool_t _dbus_decompose_path (const char *data, 57 int len, 58 char ***path, 59 int *path_len); 60 61 DBUS_END_DECLS 62 63 #endif /* DBUS_OBJECT_TREE_H */ 64