1 /*************************************************************************** 2 * CVSID: $Id$ 3 * 4 * runner.h - Process running interface 5 * 6 * Copyright (C) 2006 Sjoerd Simons, <sjoerd@luon.net> 7 * 8 * Licensed under the Academic Free License version 2.1 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 2 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 * 24 **************************************************************************/ 25 #ifndef RUNNER_H 26 #define RUNNER_H 27 28 #define DBUS_API_SUBJECT_TO_CHANGE 29 #include <dbus/dbus-glib-lowlevel.h> 30 31 #include <glib.h> 32 33 typedef struct { 34 gchar *udi; 35 gchar **environment; 36 gchar **argv; 37 gchar *input; 38 gboolean error_on_stderr; 39 guint32 timeout; 40 } run_request; 41 42 run_request *new_run_request(void); 43 void del_run_request(run_request *r); 44 45 /* Run the given request and reply it's result on msg */ 46 gboolean run_request_run(run_request *r, DBusConnection *con, DBusMessage *msg, GPid *out_pid); 47 48 /* Kill all running request for a udi */ 49 void run_kill_udi(gchar *udi); 50 51 /* Kill all running request*/ 52 void run_kill_all(); 53 54 /* initialise the actual runner data */ 55 void run_init(); 56 57 #endif /* RUNNER_H */ 58