#define PXML_TAGHEAD "<PXML" /* case insensitive; allow for trailing attributes */
#define PXML_TAGFOOT "</PXML>" /* case insensitive */
-#define PXML_MAXAPPS 20 /* max number of <application>'s within a single PXML */
+#define PXML_MAXAPPS 50 /* max number of <application>'s within a single PXML */ /* TODO: make this realloc() and dynamicly grow instead.. */
// for DaveC, we will support same-path-as-.pnd file override, that is simple format and not XML
#define PXML_SAMEPATH_OVERRIDE_FILEEXT ".ovr" /* ./foo/bar.pnd could have overrides in ./foo/bar.ovr */
/* pxml_fetch() will return NULL on fail, otherwise a valid handle which may be further queried
*/
-pnd_pxml_handle *pnd_pxml_fetch ( char *fullpath );
-pnd_pxml_handle *pnd_pxml_fetch_buffer ( char *filename, char *buffer );
+pnd_pxml_handle *pnd_pxml_fetch ( char *fullpath ); // fetch from file
+pnd_pxml_handle *pnd_pxml_fetch_buffer ( char *filename, char *buffer ); // fetch from a buffer
void pnd_pxml_delete ( pnd_pxml_handle h );
/* overrides() allow for customization of a PXML that persists; ie: An application might be sitting
/* these accessor functions will return READ ONLY char*s; do not free them or modify them.
*/
+
+char *pnd_pxml_get_package_id ( pnd_pxml_handle h );
char *pnd_pxml_get_app_name_en ( pnd_pxml_handle h );
char *pnd_pxml_get_app_name_de ( pnd_pxml_handle h );
char *pnd_pxml_get_app_name_it ( pnd_pxml_handle h );
char *pnd_pxml_get_exec ( pnd_pxml_handle h );
char *pnd_pxml_get_execargs ( pnd_pxml_handle h );
char *pnd_pxml_get_exec_option_no_x11 ( pnd_pxml_handle h );
+char *pnd_pxml_get_execdashdashargs ( pnd_pxml_handle h );
char *pnd_pxml_get_main_category ( pnd_pxml_handle h );
char *pnd_pxml_get_subcategory1 ( pnd_pxml_handle h );
char *pnd_pxml_get_subcategory2 ( pnd_pxml_handle h );
char *pnd_pxml_get_osversion_build ( pnd_pxml_handle h );
char *pnd_pxml_get_associationitem1_name ( pnd_pxml_handle h );
char *pnd_pxml_get_associationitem1_filetype ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem1_parameter ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem2_name ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem2_filetype ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem2_parameter ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem3_name ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem3_filetype ( pnd_pxml_handle h );
-char *pnd_pxml_get_associationitem3_parameter ( pnd_pxml_handle h );
+char *pnd_pxml_get_associationitem2_name ( pnd_pxml_handle h ); // may not be used
+char *pnd_pxml_get_associationitem2_filetype ( pnd_pxml_handle h ); // may not be used
+char *pnd_pxml_get_associationitem3_name ( pnd_pxml_handle h ); // may not be used
+char *pnd_pxml_get_associationitem3_filetype ( pnd_pxml_handle h ); // may not be used
char *pnd_pxml_get_clockspeed ( pnd_pxml_handle h );
char *pnd_pxml_get_background ( pnd_pxml_handle h );
char *pnd_pxml_get_startdir ( pnd_pxml_handle h );
char *pnd_pxml_get_info_name ( pnd_pxml_handle h );
char *pnd_pxml_get_info_type ( pnd_pxml_handle h );
char *pnd_pxml_get_info_src ( pnd_pxml_handle h );
+char *pnd_pxml_get_package_version_major ( pnd_pxml_handle h );
+char *pnd_pxml_get_package_version_minor ( pnd_pxml_handle h );
+char *pnd_pxml_get_package_version_release ( pnd_pxml_handle h );
+char *pnd_pxml_get_package_version_build ( pnd_pxml_handle h );
// for 'set' functions, pass NULL value to delete existing value without setting new one
void pnd_pxml_set_app_name ( pnd_pxml_handle h, char *v );
char *osversion_build;
char *associationitem1_name;
char *associationitem1_filetype;
- char *associationitem1_parameter;
- char *associationitem2_name;
- char *associationitem2_filetype;
- char *associationitem2_parameter;
- char *associationitem3_name;
- char *associationitem3_filetype;
- char *associationitem3_parameter;
+ char *_unused1; // was previously unused, but slotted for association stuff
+ char *associationitem2_name; // may not be used
+ char *associationitem2_filetype; // may not be used
+ char *_unused2; // was previously unused, but slotted for association stuff
+ char *associationitem3_name; // may not be used
+ char *associationitem3_filetype; // may not be used
+ char *_unused3; // was previously unused, but slotted for association stuff
char *clockspeed;
char *background;
char *startdir;
char *exec_no_x11;
+ char *package_id;
char *package_name;
char *package_release_date;
char *mkdir_sp; // a colon separated list of paths to be mkdir'd (silently fail) when pnd is autodiscovered. path is always relative to the root of the hosting device.
-
char *info_name; // should be a struct..
char *info_filename;
char *info_type;
+ char *package_version_major;
+ char *package_version_minor;
+ char *package_version_release;
+ char *package_version_build;
+ char *exec_dashdash_args;
} pnd_pxml_t;