On Sun, Nov 11, 2012 at 08:14:55PM +0100, Zeeshan Ali (Khattak) wrote: > From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> > > Inform the applications in which format the paths are expected by the > installer. > --- > data/install-scripts/windows-cmd.xml | 2 +- > data/install-scripts/windows-reg.xml | 2 +- > data/install-scripts/windows-sif.xml | 2 +- > data/install-scripts/windows-unattend.xml | 4 ++-- > osinfo/libosinfo.syms | 4 ++++ > osinfo/osinfo_install_script.c | 28 ++++++++++++++++++++++++++++ > osinfo/osinfo_install_script.h | 22 +++++++++++++++++----- > osinfo/osinfo_loader.c | 9 +++++++++ > 8 files changed, 63 insertions(+), 10 deletions(-) > > diff --git a/osinfo/osinfo_install_script.c b/osinfo/osinfo_install_script.c > index 2292aac..2133618 100644 > --- a/osinfo/osinfo_install_script.c > +++ b/osinfo/osinfo_install_script.c > @@ -59,6 +59,7 @@ enum { > PROP_TEMPLATE_DATA, > PROP_PROFILE, > PROP_PRODUCT_KEY_FORMAT, > + PROP_EXPECTED_PATH_FORMAT, Not sure about the 'expected' part of the property name "path-format" should be enough? > }; > > typedef struct _OsinfoInstallScriptGenerateData OsinfoInstallScriptGenerateData; > @@ -136,6 +137,11 @@ osinfo_os_get_property(GObject *object, > osinfo_install_script_get_product_key_format(script)); > break; > > + case PROP_EXPECTED_PATH_FORMAT: > + g_value_set_enum(value, > + osinfo_install_script_get_expected_path_format(script)); > + break; > + > default: > /* We don't have any other property... */ > G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); > @@ -221,6 +227,19 @@ osinfo_install_script_class_init (OsinfoInstallScriptClass *klass) > PROP_PRODUCT_KEY_FORMAT, > pspec); > > + pspec = g_param_spec_enum("expected-path-format", > + "Expected Path Format", > + _("Expected path format"), > + OSINFO_TYPE_PATH_FORMAT, > + OSINFO_PATH_FORMAT_UNIX /* default value */, > + G_PARAM_READABLE | > + G_PARAM_STATIC_NAME | > + G_PARAM_STATIC_NICK | > + G_PARAM_STATIC_BLURB); > + g_object_class_install_property(g_klass, > + PROP_EXPECTED_PATH_FORMAT, > + pspec); > + > g_type_class_add_private (klass, sizeof (OsinfoInstallScriptPrivate)); > } > > @@ -1010,6 +1029,15 @@ GFile *osinfo_install_script_generate_output(OsinfoInstallScript *script, > return data.file; > } > > +OsinfoPathFormat osinfo_install_script_get_expected_path_format(OsinfoInstallScript *script) > +{ > + return osinfo_entity_get_param_value_enum > + (OSINFO_ENTITY(script), > + OSINFO_INSTALL_SCRIPT_PROP_EXPECTED_PATH_FORMAT, > + OSINFO_TYPE_PATH_FORMAT, > + OSINFO_PATH_FORMAT_UNIX); > +} > + > /* > * Local variables: > * indent-tabs-mode: nil > diff --git a/osinfo/osinfo_install_script.h b/osinfo/osinfo_install_script.h > index 348dcdd..eba8192 100644 > --- a/osinfo/osinfo_install_script.h > +++ b/osinfo/osinfo_install_script.h > @@ -46,11 +46,12 @@ typedef struct _OsinfoInstallScriptPrivate OsinfoInstallScriptPrivate; > #define OSINFO_INSTALL_SCRIPT_PROFILE_JEOS "jeos" > #define OSINFO_INSTALL_SCRIPT_PROFILE_DESKTOP "desktop" > > -#define OSINFO_INSTALL_SCRIPT_PROP_TEMPLATE_URI "template-uri" > -#define OSINFO_INSTALL_SCRIPT_PROP_TEMPLATE_DATA "template-data" > -#define OSINFO_INSTALL_SCRIPT_PROP_PROFILE "profile" > -#define OSINFO_INSTALL_SCRIPT_PROP_PRODUCT_KEY_FORMAT "product-key-format" > -#define OSINFO_INSTALL_SCRIPT_PROP_EXPECTED_FILENAME "expected-filename" > +#define OSINFO_INSTALL_SCRIPT_PROP_TEMPLATE_URI "template-uri" > +#define OSINFO_INSTALL_SCRIPT_PROP_TEMPLATE_DATA "template-data" > +#define OSINFO_INSTALL_SCRIPT_PROP_PROFILE "profile" > +#define OSINFO_INSTALL_SCRIPT_PROP_PRODUCT_KEY_FORMAT "product-key-format" > +#define OSINFO_INSTALL_SCRIPT_PROP_EXPECTED_FILENAME "expected-filename" > +#define OSINFO_INSTALL_SCRIPT_PROP_EXPECTED_PATH_FORMAT "expected-path-format" > > /* object */ > struct _OsinfoInstallScript > @@ -71,6 +72,16 @@ struct _OsinfoInstallScriptClass > /* class members */ > }; > > +/** > + * OsinfoPathFormat: > + * OSINFO_PATH_FORMAT_UNIX: Unix/Linux path format, e.g /home/foo/bar.txt > + * OSINFO_PATH_FORMAT_DOS: DOS/Windows path format, e.g \My Documents\bar.txt Shouldn't this have a drive name as well? C:\My Documents\bar.txt Looks good otherwise, Christophe
Attachment:
pgpwVUMtrW1kp.pgp
Description: PGP signature