[virt-tools-list] [libosinfo 1/4] Add InstallScript:expected-path-format
Christophe Fergeau
cfergeau at redhat.com
Mon Nov 12 10:37:00 UTC 2012
On Sun, Nov 11, 2012 at 08:14:55PM +0100, Zeeshan Ali (Khattak) wrote:
> From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>
>
> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virt-tools-list/attachments/20121112/60c41681/attachment.sig>
More information about the virt-tools-list
mailing list