
/* This file is generated by glib-mkenums, do not modify it. This code is licensed under the same license as the containing project. Note that it links to GLib, so must comply with the LGPL linking clauses. */

#include "qfu-enum-types.h"
/* enumerations from "../libqmi/src/qmi-firmware-update/qfu-dload-message.h" */
static const GEnumValue qfu_dload_cmd_values[] = {
    { QFU_DLOAD_CMD_ACK, "QFU_DLOAD_CMD_ACK", "ack" },
    { QFU_DLOAD_CMD_NOP, "QFU_DLOAD_CMD_NOP", "nop" },
    { QFU_DLOAD_CMD_SDP, "QFU_DLOAD_CMD_SDP", "sdp" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_dload_cmd_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuDloadCmd"),
                                      qfu_dload_cmd_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_DLOAD_CMD_IS_ENUM__
const gchar *
qfu_dload_cmd_get_string (QfuDloadCmd val)
{
    guint i;

    for (i = 0; qfu_dload_cmd_values[i].value_nick; i++) {
      if ((gint)val == qfu_dload_cmd_values[i].value)
            return qfu_dload_cmd_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_DLOAD_CMD_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_DLOAD_CMD_IS_FLAGS__
gchar *
qfu_dload_cmd_build_string_from_mask (QfuDloadCmd mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_dload_cmd_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_dload_cmd_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_dload_cmd_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_dload_cmd_values[i].value) {
            guint c;
            gulong number = qfu_dload_cmd_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_dload_cmd_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_DLOAD_CMD_IS_FLAGS__ */
/* enumerations from "../libqmi/src/qmi-firmware-update/qfu-image.h" */
static const GEnumValue qfu_image_type_values[] = {
    { QFU_IMAGE_TYPE_UNKNOWN, "QFU_IMAGE_TYPE_UNKNOWN", "unknown" },
    { QFU_IMAGE_TYPE_AMSS_MODEM, "QFU_IMAGE_TYPE_AMSS_MODEM", "amss-modem" },
    { QFU_IMAGE_TYPE_AMSS_APPLICATION, "QFU_IMAGE_TYPE_AMSS_APPLICATION", "amss-application" },
    { QFU_IMAGE_TYPE_AMSS_UQCN, "QFU_IMAGE_TYPE_AMSS_UQCN", "amss-uqcn" },
    { QFU_IMAGE_TYPE_DBL, "QFU_IMAGE_TYPE_DBL", "dbl" },
    { QFU_IMAGE_TYPE_OSBL, "QFU_IMAGE_TYPE_OSBL", "osbl" },
    { QFU_IMAGE_TYPE_CWE, "QFU_IMAGE_TYPE_CWE", "cwe" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_image_type_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuImageType"),
                                      qfu_image_type_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_IMAGE_TYPE_IS_ENUM__
const gchar *
qfu_image_type_get_string (QfuImageType val)
{
    guint i;

    for (i = 0; qfu_image_type_values[i].value_nick; i++) {
      if ((gint)val == qfu_image_type_values[i].value)
            return qfu_image_type_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_IMAGE_TYPE_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_IMAGE_TYPE_IS_FLAGS__
gchar *
qfu_image_type_build_string_from_mask (QfuImageType mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_image_type_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_image_type_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_image_type_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_image_type_values[i].value) {
            guint c;
            gulong number = qfu_image_type_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_image_type_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_IMAGE_TYPE_IS_FLAGS__ */
/* enumerations from "../libqmi/src/qmi-firmware-update/qfu-qdl-message.h" */
static const GEnumValue qfu_qdl_cmd_values[] = {
    { QFU_QDL_CMD_HELLO_REQ, "QFU_QDL_CMD_HELLO_REQ", "hello-req" },
    { QFU_QDL_CMD_HELLO_RSP, "QFU_QDL_CMD_HELLO_RSP", "hello-rsp" },
    { QFU_QDL_CMD_ERROR, "QFU_QDL_CMD_ERROR", "error" },
    { QFU_QDL_CMD_OPEN_UNFRAMED_REQ, "QFU_QDL_CMD_OPEN_UNFRAMED_REQ", "open-unframed-req" },
    { QFU_QDL_CMD_OPEN_UNFRAMED_RSP, "QFU_QDL_CMD_OPEN_UNFRAMED_RSP", "open-unframed-rsp" },
    { QFU_QDL_CMD_WRITE_UNFRAMED_REQ, "QFU_QDL_CMD_WRITE_UNFRAMED_REQ", "write-unframed-req" },
    { QFU_QDL_CMD_WRITE_UNFRAMED_RSP, "QFU_QDL_CMD_WRITE_UNFRAMED_RSP", "write-unframed-rsp" },
    { QFU_QDL_CMD_CLOSE_UNFRAMED_REQ, "QFU_QDL_CMD_CLOSE_UNFRAMED_REQ", "close-unframed-req" },
    { QFU_QDL_CMD_CLOSE_UNFRAMED_RSP, "QFU_QDL_CMD_CLOSE_UNFRAMED_RSP", "close-unframed-rsp" },
    { QFU_QDL_CMD_DOWNLOAD_REQ, "QFU_QDL_CMD_DOWNLOAD_REQ", "download-req" },
    { QFU_QDL_CMD_RESET_REQ, "QFU_QDL_CMD_RESET_REQ", "reset-req" },
    { QFU_QDL_CMD_GET_IMAGE_PREF_REQ, "QFU_QDL_CMD_GET_IMAGE_PREF_REQ", "get-image-pref-req" },
    { QFU_QDL_CMD_GET_IMAGE_PREF_RSP, "QFU_QDL_CMD_GET_IMAGE_PREF_RSP", "get-image-pref-rsp" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_qdl_cmd_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuQdlCmd"),
                                      qfu_qdl_cmd_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_QDL_CMD_IS_ENUM__
const gchar *
qfu_qdl_cmd_get_string (QfuQdlCmd val)
{
    guint i;

    for (i = 0; qfu_qdl_cmd_values[i].value_nick; i++) {
      if ((gint)val == qfu_qdl_cmd_values[i].value)
            return qfu_qdl_cmd_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_QDL_CMD_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_QDL_CMD_IS_FLAGS__
gchar *
qfu_qdl_cmd_build_string_from_mask (QfuQdlCmd mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_qdl_cmd_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_qdl_cmd_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_qdl_cmd_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_qdl_cmd_values[i].value) {
            guint c;
            gulong number = qfu_qdl_cmd_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_qdl_cmd_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_QDL_CMD_IS_FLAGS__ */
/* enumerations from "../libqmi/src/qmi-firmware-update/qfu-sahara-message.h" */
static const GEnumValue qfu_sahara_cmd_values[] = {
    { QFU_SAHARA_CMD_HELLO_REQ, "QFU_SAHARA_CMD_HELLO_REQ", "hello-req" },
    { QFU_SAHARA_CMD_HELLO_RSP, "QFU_SAHARA_CMD_HELLO_RSP", "hello-rsp" },
    { QFU_SAHARA_CMD_COMMAND_READ_DATA, "QFU_SAHARA_CMD_COMMAND_READ_DATA", "command-read-data" },
    { QFU_SAHARA_CMD_COMMAND_END_IMAGE_TRANSFER, "QFU_SAHARA_CMD_COMMAND_END_IMAGE_TRANSFER", "command-end-image-transfer" },
    { QFU_SAHARA_CMD_COMMAND_DONE, "QFU_SAHARA_CMD_COMMAND_DONE", "command-done" },
    { QFU_SAHARA_CMD_COMMAND_DONE_RESPONSE, "QFU_SAHARA_CMD_COMMAND_DONE_RESPONSE", "command-done-response" },
    { QFU_SAHARA_CMD_COMMAND_RESET, "QFU_SAHARA_CMD_COMMAND_RESET", "command-reset" },
    { QFU_SAHARA_CMD_COMMAND_RESET_RESPONSE, "QFU_SAHARA_CMD_COMMAND_RESET_RESPONSE", "command-reset-response" },
    { QFU_SAHARA_CMD_COMMAND_MEMORY_DEBUG, "QFU_SAHARA_CMD_COMMAND_MEMORY_DEBUG", "command-memory-debug" },
    { QFU_SAHARA_CMD_COMMAND_MEMORY_READ, "QFU_SAHARA_CMD_COMMAND_MEMORY_READ", "command-memory-read" },
    { QFU_SAHARA_CMD_COMMAND_READY, "QFU_SAHARA_CMD_COMMAND_READY", "command-ready" },
    { QFU_SAHARA_CMD_COMMAND_SWITCH_MODE, "QFU_SAHARA_CMD_COMMAND_SWITCH_MODE", "command-switch-mode" },
    { QFU_SAHARA_CMD_COMMAND_EXECUTE_REQ, "QFU_SAHARA_CMD_COMMAND_EXECUTE_REQ", "command-execute-req" },
    { QFU_SAHARA_CMD_COMMAND_EXECUTE_RSP, "QFU_SAHARA_CMD_COMMAND_EXECUTE_RSP", "command-execute-rsp" },
    { QFU_SAHARA_CMD_COMMAND_EXECUTE_DATA, "QFU_SAHARA_CMD_COMMAND_EXECUTE_DATA", "command-execute-data" },
    { QFU_SAHARA_CMD_COMMAND_MEMORY_DEBUG_64, "QFU_SAHARA_CMD_COMMAND_MEMORY_DEBUG_64", "command-memory-debug-64" },
    { QFU_SAHARA_CMD_COMMAND_MEMORY_READ_64, "QFU_SAHARA_CMD_COMMAND_MEMORY_READ_64", "command-memory-read-64" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_sahara_cmd_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuSaharaCmd"),
                                      qfu_sahara_cmd_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_SAHARA_CMD_IS_ENUM__
const gchar *
qfu_sahara_cmd_get_string (QfuSaharaCmd val)
{
    guint i;

    for (i = 0; qfu_sahara_cmd_values[i].value_nick; i++) {
      if ((gint)val == qfu_sahara_cmd_values[i].value)
            return qfu_sahara_cmd_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_SAHARA_CMD_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_SAHARA_CMD_IS_FLAGS__
gchar *
qfu_sahara_cmd_build_string_from_mask (QfuSaharaCmd mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_sahara_cmd_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_sahara_cmd_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_sahara_cmd_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_sahara_cmd_values[i].value) {
            guint c;
            gulong number = qfu_sahara_cmd_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_sahara_cmd_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_SAHARA_CMD_IS_FLAGS__ */
static const GEnumValue qfu_sahara_mode_values[] = {
    { QFU_SAHARA_MODE_IMAGE_TX_PENDING, "QFU_SAHARA_MODE_IMAGE_TX_PENDING", "image-tx-pending" },
    { QFU_SAHARA_MODE_IMAGE_TX_COMPLETE, "QFU_SAHARA_MODE_IMAGE_TX_COMPLETE", "image-tx-complete" },
    { QFU_SAHARA_MODE_MEMORY_DEBUG, "QFU_SAHARA_MODE_MEMORY_DEBUG", "memory-debug" },
    { QFU_SAHARA_MODE_COMMAND, "QFU_SAHARA_MODE_COMMAND", "command" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_sahara_mode_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuSaharaMode"),
                                      qfu_sahara_mode_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_SAHARA_MODE_IS_ENUM__
const gchar *
qfu_sahara_mode_get_string (QfuSaharaMode val)
{
    guint i;

    for (i = 0; qfu_sahara_mode_values[i].value_nick; i++) {
      if ((gint)val == qfu_sahara_mode_values[i].value)
            return qfu_sahara_mode_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_SAHARA_MODE_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_SAHARA_MODE_IS_FLAGS__
gchar *
qfu_sahara_mode_build_string_from_mask (QfuSaharaMode mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_sahara_mode_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_sahara_mode_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_sahara_mode_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_sahara_mode_values[i].value) {
            guint c;
            gulong number = qfu_sahara_mode_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_sahara_mode_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_SAHARA_MODE_IS_FLAGS__ */
static const GEnumValue qfu_sahara_status_values[] = {
    { QFU_SAHARA_STATUS_SUCCESS, "QFU_SAHARA_STATUS_SUCCESS", "success" },
    { QFU_SAHARA_STATUS_INVALID_COMMAND, "QFU_SAHARA_STATUS_INVALID_COMMAND", "invalid-command" },
    { QFU_SAHARA_STATUS_PROTOCOL_MISMATCH, "QFU_SAHARA_STATUS_PROTOCOL_MISMATCH", "protocol-mismatch" },
    { QFU_SAHARA_STATUS_INVALID_TARGET_PROTOCOL, "QFU_SAHARA_STATUS_INVALID_TARGET_PROTOCOL", "invalid-target-protocol" },
    { QFU_SAHARA_STATUS_INVALID_HOST_PROTOCOL, "QFU_SAHARA_STATUS_INVALID_HOST_PROTOCOL", "invalid-host-protocol" },
    { QFU_SAHARA_STATUS_INVALID_PACKET_SIZE, "QFU_SAHARA_STATUS_INVALID_PACKET_SIZE", "invalid-packet-size" },
    { QFU_SAHARA_STATUS_UNEXPECTED_IMAGE_ID, "QFU_SAHARA_STATUS_UNEXPECTED_IMAGE_ID", "unexpected-image-id" },
    { QFU_SAHARA_STATUS_INVALID_HEADER_SIZE, "QFU_SAHARA_STATUS_INVALID_HEADER_SIZE", "invalid-header-size" },
    { QFU_SAHARA_STATUS_INVALID_DATA_SIZE, "QFU_SAHARA_STATUS_INVALID_DATA_SIZE", "invalid-data-size" },
    { QFU_SAHARA_STATUS_INVALID_IMAGE_TYPE, "QFU_SAHARA_STATUS_INVALID_IMAGE_TYPE", "invalid-image-type" },
    { QFU_SAHARA_STATUS_INVALID_TX_LENGTH, "QFU_SAHARA_STATUS_INVALID_TX_LENGTH", "invalid-tx-length" },
    { QFU_SAHARA_STATUS_INVALID_RX_LENGTH, "QFU_SAHARA_STATUS_INVALID_RX_LENGTH", "invalid-rx-length" },
    { QFU_SAHARA_STATUS_TX_RX_ERROR, "QFU_SAHARA_STATUS_TX_RX_ERROR", "tx-rx-error" },
    { QFU_SAHARA_STATUS_READ_DATA_ERROR, "QFU_SAHARA_STATUS_READ_DATA_ERROR", "read-data-error" },
    { QFU_SAHARA_STATUS_UNSUPPORTED_NUM_PHDRS, "QFU_SAHARA_STATUS_UNSUPPORTED_NUM_PHDRS", "unsupported-num-phdrs" },
    { QFU_SAHARA_STATUS_INVALID_PHDR_SIZE, "QFU_SAHARA_STATUS_INVALID_PHDR_SIZE", "invalid-phdr-size" },
    { QFU_SAHARA_STATUS_MULTIPLE_SHARED_SEG, "QFU_SAHARA_STATUS_MULTIPLE_SHARED_SEG", "multiple-shared-seg" },
    { QFU_SAHARA_STATUS_UNINIT_PHDR_LOC, "QFU_SAHARA_STATUS_UNINIT_PHDR_LOC", "uninit-phdr-loc" },
    { QFU_SAHARA_STATUS_INVALID_DEST_ADDRESS, "QFU_SAHARA_STATUS_INVALID_DEST_ADDRESS", "invalid-dest-address" },
    { QFU_SAHARA_STATUS_INVALID_IMAGE_HEADER_SIZE, "QFU_SAHARA_STATUS_INVALID_IMAGE_HEADER_SIZE", "invalid-image-header-size" },
    { QFU_SAHARA_STATUS_INVALID_ELF_HEADER, "QFU_SAHARA_STATUS_INVALID_ELF_HEADER", "invalid-elf-header" },
    { QFU_SAHARA_STATUS_UNKNOWN_ERROR, "QFU_SAHARA_STATUS_UNKNOWN_ERROR", "unknown-error" },
    { QFU_SAHARA_STATUS_TIMEOUT_RX, "QFU_SAHARA_STATUS_TIMEOUT_RX", "timeout-rx" },
    { QFU_SAHARA_STATUS_TIMEOUT_TX, "QFU_SAHARA_STATUS_TIMEOUT_TX", "timeout-tx" },
    { QFU_SAHARA_STATUS_INVALID_MODE, "QFU_SAHARA_STATUS_INVALID_MODE", "invalid-mode" },
    { QFU_SAHARA_STATUS_INVALID_MEMORY_READ, "QFU_SAHARA_STATUS_INVALID_MEMORY_READ", "invalid-memory-read" },
    { QFU_SAHARA_STATUS_INVALID_DATA_SIZE_REQUEST, "QFU_SAHARA_STATUS_INVALID_DATA_SIZE_REQUEST", "invalid-data-size-request" },
    { QFU_SAHARA_STATUS_MEMORY_DEBUG_NOT_SUPPORTED, "QFU_SAHARA_STATUS_MEMORY_DEBUG_NOT_SUPPORTED", "memory-debug-not-supported" },
    { QFU_SAHARA_STATUS_INVALID_MODE_SWITCH, "QFU_SAHARA_STATUS_INVALID_MODE_SWITCH", "invalid-mode-switch" },
    { QFU_SAHARA_STATUS_EXEC_FAILURE, "QFU_SAHARA_STATUS_EXEC_FAILURE", "exec-failure" },
    { QFU_SAHARA_STATUS_EXEC_CMD_INVALID_PARAM, "QFU_SAHARA_STATUS_EXEC_CMD_INVALID_PARAM", "exec-cmd-invalid-param" },
    { QFU_SAHARA_STATUS_EXEC_CMD_UNSUPPORTED, "QFU_SAHARA_STATUS_EXEC_CMD_UNSUPPORTED", "exec-cmd-unsupported" },
    { QFU_SAHARA_STATUS_EXEC_DATA_INVALID, "QFU_SAHARA_STATUS_EXEC_DATA_INVALID", "exec-data-invalid" },
    { QFU_SAHARA_STATUS_HASH_TABLE_AUTH_FAILURE, "QFU_SAHARA_STATUS_HASH_TABLE_AUTH_FAILURE", "hash-table-auth-failure" },
    { QFU_SAHARA_STATUS_HASH_VERIFICATION_FAILURE, "QFU_SAHARA_STATUS_HASH_VERIFICATION_FAILURE", "hash-verification-failure" },
    { QFU_SAHARA_STATUS_HASH_TABLE_NOT_FOUND, "QFU_SAHARA_STATUS_HASH_TABLE_NOT_FOUND", "hash-table-not-found" },
    { QFU_SAHARA_STATUS_TARGET_INIT_FAILURE, "QFU_SAHARA_STATUS_TARGET_INIT_FAILURE", "target-init-failure" },
    { QFU_SAHARA_STATUS_IMAGE_AUTH_FAILURE, "QFU_SAHARA_STATUS_IMAGE_AUTH_FAILURE", "image-auth-failure" },
    { QFU_SAHARA_STATUS_INVALID_IMG_HASH_TABLE_SIZE, "QFU_SAHARA_STATUS_INVALID_IMG_HASH_TABLE_SIZE", "invalid-img-hash-table-size" },
    { 0, NULL, NULL }
};

/* Define type-specific symbols */

GType
qfu_sahara_status_get_type (void)
{
    static gsize g_define_type_id_initialized = 0;

    if (g_once_init_enter (&g_define_type_id_initialized)) {
        GType g_define_type_id =
            g_enum_register_static (g_intern_static_string ("QfuSaharaStatus"),
                                      qfu_sahara_status_values);
        g_once_init_leave (&g_define_type_id_initialized, g_define_type_id);
    }

    return g_define_type_id_initialized;
}

/* Enum-specific method to get the value as a string.
 * We get the nick of the GEnumValue. Note that this will be
 * valid even if the GEnumClass is not referenced anywhere. */
#if defined __QFU_SAHARA_STATUS_IS_ENUM__
const gchar *
qfu_sahara_status_get_string (QfuSaharaStatus val)
{
    guint i;

    for (i = 0; qfu_sahara_status_values[i].value_nick; i++) {
      if ((gint)val == qfu_sahara_status_values[i].value)
            return qfu_sahara_status_values[i].value_nick;
    }

    return NULL;
}
#endif /* __QFU_SAHARA_STATUS_IS_ENUM__ */

/* Flags-specific method to build a string with the given mask.
 * We get a comma separated list of the nicks of the GFlagsValues.
 * Note that this will be valid even if the GFlagsClass is not referenced
 * anywhere. */
#if defined __QFU_SAHARA_STATUS_IS_FLAGS__
gchar *
qfu_sahara_status_build_string_from_mask (QfuSaharaStatus mask)
{
    guint i;
    gboolean first = TRUE;
    GString *str = NULL;

    for (i = 0; qfu_sahara_status_values[i].value_nick; i++) {
        /* We also look for exact matches */
      if ((guint)mask == qfu_sahara_status_values[i].value) {
            if (str)
                g_string_free (str, TRUE);
            return g_strdup (qfu_sahara_status_values[i].value_nick);
        }

        /* Build list with single-bit masks */
        if (mask & qfu_sahara_status_values[i].value) {
            guint c;
            gulong number = qfu_sahara_status_values[i].value;

            for (c = 0; number; c++)
                number &= number - 1;

            if (c == 1) {
                if (!str)
                    str = g_string_new ("");
                g_string_append_printf (str, "%s%s",
                                        first ? "" : ", ",
                                        qfu_sahara_status_values[i].value_nick);
                if (first)
                    first = FALSE;
            }
        }
    }

    return (str ? g_string_free (str, FALSE) : NULL);
}
#endif /* __QFU_SAHARA_STATUS_IS_FLAGS__ */

/* Generated data ends here */

