Switched -u to -n for pnd_run
[pandora-libraries.git] / include / pnd_apps.h
index ff2bb06..e24dfd7 100644 (file)
@@ -24,18 +24,30 @@ extern "C" {
 #define PND_DOTDESKTOP_DEFAULT "/usr/share/applications"
 
 // apps
-#define PND_DEFAULT_WORKDIR "/tmp"
+#define PND_DEFAULT_WORKDIR "./"
 
 /* pnd_apps_exec() is used to blindly launch an app, be it a .pnd file bundle or a plain executable
  * (shell, bin, whatever.) pndrun specifies the full path to the pnd_run sh script, which should be
  * found using searchpaths and locates.. see locatetest.c for a sample
+ * pnd_run, fullpath, unique_id, rel_exec required
+ * rel_startdir, clockspeed, options are optional
  * NOTE: Use pnd_locate function to locate the pnd_run, for example
- * NOTE: clock speed will be set prior to invoking the script, and set back on exit
+ * NOTE: if specified, clock speed will be set prior to invoking the script, and set back on exit
  * NOTE: No values can be except clockspeed; a 0 clockspeed means 'leave alone'. Set startdoir to "." instead of NULL.
  * fork() is implied; calling this function does not kill this process :)
  * NOTE: PAss in the full path to the awesomeapp.pnd or to the directory containing PXML.xml (not the PXML.xml itself.)
+ * Options is a set of boolean flags, derived from the #define's below; OR them together.
+ *   option-block, when set, suggests the launch should wait until the invoked application exits (disregarding why app exits)
+ *   example: options = PND_EXEC_OPTION_BLOCK | PND_EXEC_OPTION_2;
  */
-unsigned char pnd_apps_exec ( char *pndrun, char *fullpath, char *unique_id, char *rel_exec, char *rel_startdir, unsigned int clockspeed );
+#define PND_EXEC_OPTION_NIL        0
+#define PND_EXEC_OPTION_BLOCK      1 /* wait till children complete; note, children might fork on their own.. */
+#define PND_EXEC_OPTION_NOUNION    2 /* request pnd_run not use a union, just do the mount/run */
+#define PND_EXEC_OPTION_FUTURE2    4
+
+unsigned char pnd_apps_exec ( char *pndrun, char *fullpath, char *unique_id,
+                             char *rel_exec, char *rel_startdir,
+                             unsigned int clockspeed, unsigned int options );
 
 #ifdef __cplusplus
 } /* "C" */