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 typedef void (* DBusBabysitterFinishedFunc) (DBusBabysitter *sitter,
00039 void *user_data);
00040
00041 dbus_bool_t _dbus_spawn_async_with_babysitter (DBusBabysitter **sitter_p,
00042 char **argv,
00043 char **env,
00044 DBusSpawnChildSetupFunc child_setup,
00045 void *user_data,
00046 DBusError *error);
00047 void _dbus_babysitter_set_result_function (DBusBabysitter *sitter,
00048 DBusBabysitterFinishedFunc finished,
00049 void *user_data);
00050 DBusBabysitter* _dbus_babysitter_ref (DBusBabysitter *sitter);
00051 void _dbus_babysitter_unref (DBusBabysitter *sitter);
00052 void _dbus_babysitter_kill_child (DBusBabysitter *sitter);
00053 dbus_bool_t _dbus_babysitter_get_child_exited (DBusBabysitter *sitter);
00054 void _dbus_babysitter_set_child_exit_error (DBusBabysitter *sitter,
00055 DBusError *error);
00056 dbus_bool_t _dbus_babysitter_get_child_exit_status (DBusBabysitter *sitter,
00057 int *status);
00058 dbus_bool_t _dbus_babysitter_set_watch_functions (DBusBabysitter *sitter,
00059 DBusAddWatchFunction add_function,
00060 DBusRemoveWatchFunction remove_function,
00061 DBusWatchToggledFunction toggled_function,
00062 void *data,
00063 DBusFreeFunction free_data_function);
00064
00065 DBUS_END_DECLS
00066
00067 #endif