X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fpnd_pxml.h;h=a7eec6de9c40017be606a142292b14ea5f0cde8c;hb=38d0da186bbf6c0fd0ac1375d9b1f5f07a15ef62;hp=623d5273f616bff9eb8757b68d5964449ca90e81;hpb=4d5f17d8fa6b5b43064ca5874853d4509dea1f7b;p=pandora-libraries.git diff --git a/include/pnd_pxml.h b/include/pnd_pxml.h index 623d527..a7eec6d 100644 --- a/include/pnd_pxml.h +++ b/include/pnd_pxml.h @@ -12,7 +12,10 @@ extern "C" { #define PXML_TAGHEAD "" /* case insensitive */ -#define PXML_MAXAPPS 20 /* max number of 's within a single PXML */ +#define PXML_MAXAPPS 50 /* max number of '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 */ // use this handle to interact with PXML; this hides the mechanics of parsing a PXML file so that // it can be upgraded with impacting applications @@ -20,8 +23,8 @@ typedef void* pnd_pxml_handle; /* 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 @@ -40,12 +43,15 @@ signed char pnd_pxml_merge_override ( pnd_pxml_handle h, char *searchpath ); /* 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_app_name_fr ( pnd_pxml_handle h ); char *pnd_pxml_get_app_name ( pnd_pxml_handle h, char *iso_lang ); char *pnd_pxml_get_unique_id ( pnd_pxml_handle h ); +char *pnd_pxml_get_appdata_dirname ( pnd_pxml_handle h ); char *pnd_pxml_get_standalone ( pnd_pxml_handle h ); char *pnd_pxml_get_icon ( pnd_pxml_handle h ); char *pnd_pxml_get_description_en ( pnd_pxml_handle h ); @@ -87,6 +93,13 @@ 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_mkdir ( 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 ); @@ -111,11 +124,12 @@ typedef struct typedef struct { - unsigned char subapp_number; // 0 for 'only app'; 1+ for # .. first is 1. + unsigned char subapp_number; // 0+ for # .. first is 0 pnd_localized_string_t *titles; int titles_c; int titles_alloc_c; char *unique_id; + char *appdata_dirname; // preferred dir name for appdata; if missing, use unique-id char *standalone; char *icon; pnd_localized_string_t *descriptions; @@ -154,10 +168,19 @@ typedef struct 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; + } pnd_pxml_t; #ifdef __cplusplus