dnsproxy: Only one copy of the relevant buffers will be made to a TCP request
[framework/connectivity/connman.git] / include / task.h
index e31a4c3..9977d63 100644 (file)
@@ -2,7 +2,7 @@
  *
  *  Connection Manager
  *
- *  Copyright (C) 2007-2009  Intel Corporation. All rights reserved.
+ *  Copyright (C) 2007-2012  Intel Corporation. All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License version 2 as
@@ -22,6 +22,8 @@
 #ifndef __CONNMAN_TASK_H
 #define __CONNMAN_TASK_H
 
+#include <dbus/dbus.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -32,6 +34,32 @@ extern "C" {
  * @short_description: Functions for handling tasks
  */
 
+struct connman_task;
+
+typedef void (* connman_task_exit_t) (struct connman_task *task,
+                                               int exit_code, void *user_data);
+
+typedef DBusMessage * (* connman_task_notify_t) (struct connman_task *task,
+                               DBusMessage *message, void *user_data);
+
+struct connman_task *connman_task_create(const char *program);
+void connman_task_destroy(struct connman_task *task);
+
+const char *connman_task_get_path(struct connman_task *task);
+
+int connman_task_add_argument(struct connman_task *task,
+                               const char *name, const char *format, ...);
+int connman_task_add_variable(struct connman_task *task,
+                               const char *key, const char *format, ...);
+
+int connman_task_set_notify(struct connman_task *task, const char *member,
+                       connman_task_notify_t function, void *user_data);
+
+int connman_task_run(struct connman_task *task,
+                       connman_task_exit_t function, void *user_data,
+                       int *stdin_fd, int *stdout_fd, int *stderr_fd);
+int connman_task_stop(struct connman_task *task);
+
 #ifdef __cplusplus
 }
 #endif