00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #ifndef DBUS_SPAWN_H
00026 #define DBUS_SPAWN_H
00027 
00028 #include <dbus/dbus-string.h>
00029 #include <dbus/dbus-errors.h>
00030 #include <dbus/dbus-watch.h>
00031 
00032 DBUS_BEGIN_DECLS
00033 
00034 typedef void (* DBusSpawnChildSetupFunc) (void *user_data);
00035 
00036 typedef struct DBusBabysitter DBusBabysitter;
00037 
00038 dbus_bool_t _dbus_spawn_async_with_babysitter     (DBusBabysitter           **sitter_p,
00039                                                    char                     **argv,
00040                                                    DBusSpawnChildSetupFunc    child_setup,
00041                                                    void                      *user_data,
00042                                                    DBusError                 *error);
00043 DBusBabysitter* _dbus_babysitter_ref              (DBusBabysitter            *sitter);
00044 void        _dbus_babysitter_unref                (DBusBabysitter            *sitter);
00045 void        _dbus_babysitter_kill_child           (DBusBabysitter            *sitter);
00046 dbus_bool_t _dbus_babysitter_get_child_exited     (DBusBabysitter            *sitter);
00047 void        _dbus_babysitter_set_child_exit_error (DBusBabysitter            *sitter,
00048                                                    DBusError                 *error);
00049 dbus_bool_t _dbus_babysitter_set_watch_functions  (DBusBabysitter            *sitter,
00050                                                    DBusAddWatchFunction       add_function,
00051                                                    DBusRemoveWatchFunction    remove_function,
00052                                                    DBusWatchToggledFunction   toggled_function,
00053                                                    void                      *data,
00054                                                    DBusFreeFunction           free_data_function);
00055 
00056 DBUS_END_DECLS
00057 
00058 #endif