
/* 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 "cm-enum-types.h"
#include "cm-enums.h"

#define C_ENUM(v) ((gint) v)
#define C_FLAGS(v) ((guint) v)

/* enumerations from "cm-enums.h" */

GType
cm_error_get_type (void)
{
    static gsize gtype_id = 0;
    static const GEnumValue values[] = {
        { C_ENUM (CM_ERROR_FORBIDDEN), "CM_ERROR_FORBIDDEN", "forbidden" },
        { C_ENUM (CM_ERROR_UNKNOWN_TOKEN), "CM_ERROR_UNKNOWN_TOKEN", "unknown-token" },
        { C_ENUM (CM_ERROR_MISSING_TOKEN), "CM_ERROR_MISSING_TOKEN", "missing-token" },
        { C_ENUM (CM_ERROR_BAD_JSON), "CM_ERROR_BAD_JSON", "bad-json" },
        { C_ENUM (CM_ERROR_NOT_JSON), "CM_ERROR_NOT_JSON", "not-json" },
        { C_ENUM (CM_ERROR_NOT_FOUND), "CM_ERROR_NOT_FOUND", "not-found" },
        { C_ENUM (CM_ERROR_LIMIT_EXCEEDED), "CM_ERROR_LIMIT_EXCEEDED", "limit-exceeded" },
        { C_ENUM (CM_ERROR_UNKNOWN), "CM_ERROR_UNKNOWN", "unknown" },
        { C_ENUM (CM_ERROR_UNRECOGNIZED), "CM_ERROR_UNRECOGNIZED", "unrecognized" },
        { C_ENUM (CM_ERROR_UNAUTHORIZED), "CM_ERROR_UNAUTHORIZED", "unauthorized" },
        { C_ENUM (CM_ERROR_USER_DEACTIVATED), "CM_ERROR_USER_DEACTIVATED", "user-deactivated" },
        { C_ENUM (CM_ERROR_USER_IN_USE), "CM_ERROR_USER_IN_USE", "user-in-use" },
        { C_ENUM (CM_ERROR_INVALID_USERNAME), "CM_ERROR_INVALID_USERNAME", "invalid-username" },
        { C_ENUM (CM_ERROR_ROOM_IN_USE), "CM_ERROR_ROOM_IN_USE", "room-in-use" },
        { C_ENUM (CM_ERROR_INVALID_ROOM_STATE), "CM_ERROR_INVALID_ROOM_STATE", "invalid-room-state" },
        { C_ENUM (CM_ERROR_THREEPID_IN_USE), "CM_ERROR_THREEPID_IN_USE", "threepid-in-use" },
        { C_ENUM (CM_ERROR_THREEPID_NOT_FOUND), "CM_ERROR_THREEPID_NOT_FOUND", "threepid-not-found" },
        { C_ENUM (CM_ERROR_THREEPID_AUTH_FAILED), "CM_ERROR_THREEPID_AUTH_FAILED", "threepid-auth-failed" },
        { C_ENUM (CM_ERROR_THREEPID_DENIED), "CM_ERROR_THREEPID_DENIED", "threepid-denied" },
        { C_ENUM (CM_ERROR_SERVER_NOT_TRUSTED), "CM_ERROR_SERVER_NOT_TRUSTED", "server-not-trusted" },
        { C_ENUM (CM_ERROR_UNSUPPORTED_ROOM_VERSION), "CM_ERROR_UNSUPPORTED_ROOM_VERSION", "unsupported-room-version" },
        { C_ENUM (CM_ERROR_INCOMPATIBLE_ROOM_VERSION), "CM_ERROR_INCOMPATIBLE_ROOM_VERSION", "incompatible-room-version" },
        { C_ENUM (CM_ERROR_BAD_STATE), "CM_ERROR_BAD_STATE", "bad-state" },
        { C_ENUM (CM_ERROR_GUEST_ACCESS_FORBIDDEN), "CM_ERROR_GUEST_ACCESS_FORBIDDEN", "guest-access-forbidden" },
        { C_ENUM (CM_ERROR_CAPTCHA_NEEDED), "CM_ERROR_CAPTCHA_NEEDED", "captcha-needed" },
        { C_ENUM (CM_ERROR_CAPTCHA_INVALID), "CM_ERROR_CAPTCHA_INVALID", "captcha-invalid" },
        { C_ENUM (CM_ERROR_MISSING_PARAM), "CM_ERROR_MISSING_PARAM", "missing-param" },
        { C_ENUM (CM_ERROR_INVALID_PARAM), "CM_ERROR_INVALID_PARAM", "invalid-param" },
        { C_ENUM (CM_ERROR_TOO_LARGE), "CM_ERROR_TOO_LARGE", "too-large" },
        { C_ENUM (CM_ERROR_EXCLUSIVE), "CM_ERROR_EXCLUSIVE", "exclusive" },
        { C_ENUM (CM_ERROR_RESOURCE_LIMIT_EXCEEDED), "CM_ERROR_RESOURCE_LIMIT_EXCEEDED", "resource-limit-exceeded" },
        { C_ENUM (CM_ERROR_CANNOT_LEAVE_SERVER_NOTICE_ROOM), "CM_ERROR_CANNOT_LEAVE_SERVER_NOTICE_ROOM", "cannot-leave-server-notice-room" },
        { C_ENUM (CM_ERROR_BAD_PASSWORD), "CM_ERROR_BAD_PASSWORD", "bad-password" },
        { C_ENUM (CM_ERROR_NO_HOME_SERVER), "CM_ERROR_NO_HOME_SERVER", "no-home-server" },
        { C_ENUM (CM_ERROR_BAD_HOME_SERVER), "CM_ERROR_BAD_HOME_SERVER", "bad-home-server" },
        { C_ENUM (CM_ERROR_USER_DEVICE_CHANGED), "CM_ERROR_USER_DEVICE_CHANGED", "user-device-changed" },
        { C_ENUM (CM_ERROR_BAD_PUSH_GATEWAY), "CM_ERROR_BAD_PUSH_GATEWAY", "bad-push-gateway" },
        { 0, NULL, NULL }
    };
    if (g_once_init_enter (&gtype_id)) {
        GType new_type = g_enum_register_static (g_intern_static_string ("CmError"), values);
        g_once_init_leave (&gtype_id, new_type);
    }
    return (GType) gtype_id;
}

GType
cm_status_get_type (void)
{
    static gsize gtype_id = 0;
    static const GEnumValue values[] = {
        { C_ENUM (CM_STATUS_UNKNOWN), "CM_STATUS_UNKNOWN", "unknown" },
        { C_ENUM (CM_STATUS_JOIN), "CM_STATUS_JOIN", "join" },
        { C_ENUM (CM_STATUS_LEAVE), "CM_STATUS_LEAVE", "leave" },
        { C_ENUM (CM_STATUS_INVITE), "CM_STATUS_INVITE", "invite" },
        { C_ENUM (CM_STATUS_BAN), "CM_STATUS_BAN", "ban" },
        { C_ENUM (CM_STATUS_KNOCK), "CM_STATUS_KNOCK", "knock" },
        { 0, NULL, NULL }
    };
    if (g_once_init_enter (&gtype_id)) {
        GType new_type = g_enum_register_static (g_intern_static_string ("CmStatus"), values);
        g_once_init_leave (&gtype_id, new_type);
    }
    return (GType) gtype_id;
}

GType
cm_content_type_get_type (void)
{
    static gsize gtype_id = 0;
    static const GEnumValue values[] = {
        { C_ENUM (CM_CONTENT_TYPE_UNKNOWN), "CM_CONTENT_TYPE_UNKNOWN", "unknown" },
        { C_ENUM (CM_CONTENT_TYPE_TEXT), "CM_CONTENT_TYPE_TEXT", "text" },
        { C_ENUM (CM_CONTENT_TYPE_EMOTE), "CM_CONTENT_TYPE_EMOTE", "emote" },
        { C_ENUM (CM_CONTENT_TYPE_NOTICE), "CM_CONTENT_TYPE_NOTICE", "notice" },
        { C_ENUM (CM_CONTENT_TYPE_IMAGE), "CM_CONTENT_TYPE_IMAGE", "image" },
        { C_ENUM (CM_CONTENT_TYPE_FILE), "CM_CONTENT_TYPE_FILE", "file" },
        { C_ENUM (CM_CONTENT_TYPE_LOCATION), "CM_CONTENT_TYPE_LOCATION", "location" },
        { C_ENUM (CM_CONTENT_TYPE_AUDIO), "CM_CONTENT_TYPE_AUDIO", "audio" },
        { C_ENUM (CM_CONTENT_TYPE_VIDEO), "CM_CONTENT_TYPE_VIDEO", "video" },
        { C_ENUM (CM_CONTENT_TYPE_SERVER_NOTICE), "CM_CONTENT_TYPE_SERVER_NOTICE", "server-notice" },
        { 0, NULL, NULL }
    };
    if (g_once_init_enter (&gtype_id)) {
        GType new_type = g_enum_register_static (g_intern_static_string ("CmContentType"), values);
        g_once_init_leave (&gtype_id, new_type);
    }
    return (GType) gtype_id;
}

GType
cm_event_type_get_type (void)
{
    static gsize gtype_id = 0;
    static const GEnumValue values[] = {
        { C_ENUM (CM_M_UNKNOWN), "CM_M_UNKNOWN", "unknown" },
        { C_ENUM (CM_M_CALL_ANSWER), "CM_M_CALL_ANSWER", "call-answer" },
        { C_ENUM (CM_M_CALL_ASSERTED_IDENTITY), "CM_M_CALL_ASSERTED_IDENTITY", "call-asserted-identity" },
        { C_ENUM (CM_M_CALL_ASSERTED_IDENTITY_PREFIX), "CM_M_CALL_ASSERTED_IDENTITY_PREFIX", "call-asserted-identity-prefix" },
        { C_ENUM (CM_M_CALL_CANDIDATES), "CM_M_CALL_CANDIDATES", "call-candidates" },
        { C_ENUM (CM_M_CALL_HANGUP), "CM_M_CALL_HANGUP", "call-hangup" },
        { C_ENUM (CM_M_CALL_INVITE), "CM_M_CALL_INVITE", "call-invite" },
        { C_ENUM (CM_M_CALL_NEGOTIATE), "CM_M_CALL_NEGOTIATE", "call-negotiate" },
        { C_ENUM (CM_M_CALL_REJECT), "CM_M_CALL_REJECT", "call-reject" },
        { C_ENUM (CM_M_CALL_REPLACES), "CM_M_CALL_REPLACES", "call-replaces" },
        { C_ENUM (CM_M_CALL_SELECT_ANSWER), "CM_M_CALL_SELECT_ANSWER", "call-select-answer" },
        { C_ENUM (CM_M_DIRECT), "CM_M_DIRECT", "direct" },
        { C_ENUM (CM_M_DUMMY), "CM_M_DUMMY", "dummy" },
        { C_ENUM (CM_M_FORWARDED_ROOM_KEY), "CM_M_FORWARDED_ROOM_KEY", "forwarded-room-key" },
        { C_ENUM (CM_M_FULLY_READ), "CM_M_FULLY_READ", "fully-read" },
        { C_ENUM (CM_M_IGNORED_USER_LIST), "CM_M_IGNORED_USER_LIST", "ignored-user-list" },
        { C_ENUM (CM_M_KEY_VERIFICATION_ACCEPT), "CM_M_KEY_VERIFICATION_ACCEPT", "key-verification-accept" },
        { C_ENUM (CM_M_KEY_VERIFICATION_CANCEL), "CM_M_KEY_VERIFICATION_CANCEL", "key-verification-cancel" },
        { C_ENUM (CM_M_KEY_VERIFICATION_DONE), "CM_M_KEY_VERIFICATION_DONE", "key-verification-done" },
        { C_ENUM (CM_M_KEY_VERIFICATION_KEY), "CM_M_KEY_VERIFICATION_KEY", "key-verification-key" },
        { C_ENUM (CM_M_KEY_VERIFICATION_MAC), "CM_M_KEY_VERIFICATION_MAC", "key-verification-mac" },
        { C_ENUM (CM_M_KEY_VERIFICATION_READY), "CM_M_KEY_VERIFICATION_READY", "key-verification-ready" },
        { C_ENUM (CM_M_KEY_VERIFICATION_REQUEST), "CM_M_KEY_VERIFICATION_REQUEST", "key-verification-request" },
        { C_ENUM (CM_M_KEY_VERIFICATION_START), "CM_M_KEY_VERIFICATION_START", "key-verification-start" },
        { C_ENUM (CM_M_PRESENCE), "CM_M_PRESENCE", "presence" },
        { C_ENUM (CM_M_PUSH_RULES), "CM_M_PUSH_RULES", "push-rules" },
        { C_ENUM (CM_M_REACTION), "CM_M_REACTION", "reaction" },
        { C_ENUM (CM_M_RECEIPT), "CM_M_RECEIPT", "receipt" },
        { C_ENUM (CM_M_ROOM_ALIASES), "CM_M_ROOM_ALIASES", "room-aliases" },
        { C_ENUM (CM_M_ROOM_AVATAR), "CM_M_ROOM_AVATAR", "room-avatar" },
        { C_ENUM (CM_M_ROOM_BOT_OPTIONS), "CM_M_ROOM_BOT_OPTIONS", "room-bot-options" },
        { C_ENUM (CM_M_ROOM_CANONICAL_ALIAS), "CM_M_ROOM_CANONICAL_ALIAS", "room-canonical-alias" },
        { C_ENUM (CM_M_ROOM_CREATE), "CM_M_ROOM_CREATE", "room-create" },
        { C_ENUM (CM_M_ROOM_ENCRYPTED), "CM_M_ROOM_ENCRYPTED", "room-encrypted" },
        { C_ENUM (CM_M_ROOM_ENCRYPTION), "CM_M_ROOM_ENCRYPTION", "room-encryption" },
        { C_ENUM (CM_M_ROOM_GUEST_ACCESS), "CM_M_ROOM_GUEST_ACCESS", "room-guest-access" },
        { C_ENUM (CM_M_ROOM_HISTORY_VISIBILITY), "CM_M_ROOM_HISTORY_VISIBILITY", "room-history-visibility" },
        { C_ENUM (CM_M_ROOM_JOIN_RULES), "CM_M_ROOM_JOIN_RULES", "room-join-rules" },
        { C_ENUM (CM_M_ROOM_KEY), "CM_M_ROOM_KEY", "room-key" },
        { C_ENUM (CM_M_ROOM_KEY_REQUEST), "CM_M_ROOM_KEY_REQUEST", "room-key-request" },
        { C_ENUM (CM_M_ROOM_MEMBER), "CM_M_ROOM_MEMBER", "room-member" },
        { C_ENUM (CM_M_ROOM_MESSAGE), "CM_M_ROOM_MESSAGE", "room-message" },
        { C_ENUM (CM_M_ROOM_MESSAGE_FEEDBACK), "CM_M_ROOM_MESSAGE_FEEDBACK", "room-message-feedback" },
        { C_ENUM (CM_M_ROOM_NAME), "CM_M_ROOM_NAME", "room-name" },
        { C_ENUM (CM_M_ROOM_PINNED_EVENTS), "CM_M_ROOM_PINNED_EVENTS", "room-pinned-events" },
        { C_ENUM (CM_M_ROOM_PLUMBING), "CM_M_ROOM_PLUMBING", "room-plumbing" },
        { C_ENUM (CM_M_ROOM_POWER_LEVELS), "CM_M_ROOM_POWER_LEVELS", "room-power-levels" },
        { C_ENUM (CM_M_ROOM_REDACTION), "CM_M_ROOM_REDACTION", "room-redaction" },
        { C_ENUM (CM_M_ROOM_RELATED_GROUPS), "CM_M_ROOM_RELATED_GROUPS", "room-related-groups" },
        { C_ENUM (CM_M_ROOM_SERVER_ACL), "CM_M_ROOM_SERVER_ACL", "room-server-acl" },
        { C_ENUM (CM_M_ROOM_THIRD_PARTY_INVITE), "CM_M_ROOM_THIRD_PARTY_INVITE", "room-third-party-invite" },
        { C_ENUM (CM_M_ROOM_TOMBSTONE), "CM_M_ROOM_TOMBSTONE", "room-tombstone" },
        { C_ENUM (CM_M_ROOM_TOPIC), "CM_M_ROOM_TOPIC", "room-topic" },
        { C_ENUM (CM_M_SECRET_REQUEST), "CM_M_SECRET_REQUEST", "secret-request" },
        { C_ENUM (CM_M_SECRET_SEND), "CM_M_SECRET_SEND", "secret-send" },
        { C_ENUM (CM_M_SECRET_STORAGE_DEFAULT_KEY), "CM_M_SECRET_STORAGE_DEFAULT_KEY", "secret-storage-default-key" },
        { C_ENUM (CM_M_SPACE_CHILD), "CM_M_SPACE_CHILD", "space-child" },
        { C_ENUM (CM_M_SPACE_PARENT), "CM_M_SPACE_PARENT", "space-parent" },
        { C_ENUM (CM_M_STICKER), "CM_M_STICKER", "sticker" },
        { C_ENUM (CM_M_TAG), "CM_M_TAG", "tag" },
        { C_ENUM (CM_M_TYPING), "CM_M_TYPING", "typing" },
        { C_ENUM (CM_M_USER_STATUS), "CM_M_USER_STATUS", "user-status" },
        { C_ENUM (CM_M_ROOM_INVITE), "CM_M_ROOM_INVITE", "room-invite" },
        { C_ENUM (CM_M_ROOM_BAN), "CM_M_ROOM_BAN", "room-ban" },
        { C_ENUM (CM_M_ROOM_KICK), "CM_M_ROOM_KICK", "room-kick" },
        { 0, NULL, NULL }
    };
    if (g_once_init_enter (&gtype_id)) {
        GType new_type = g_enum_register_static (g_intern_static_string ("CmEventType"), values);
        g_once_init_leave (&gtype_id, new_type);
    }
    return (GType) gtype_id;
}

GType
cm_event_state_get_type (void)
{
    static gsize gtype_id = 0;
    static const GEnumValue values[] = {
        { C_ENUM (CM_EVENT_STATE_UNKNOWN), "CM_EVENT_STATE_UNKNOWN", "unknown" },
        { C_ENUM (CM_EVENT_STATE_DRAFT), "CM_EVENT_STATE_DRAFT", "draft" },
        { C_ENUM (CM_EVENT_STATE_WAITING), "CM_EVENT_STATE_WAITING", "waiting" },
        { C_ENUM (CM_EVENT_STATE_SENDING), "CM_EVENT_STATE_SENDING", "sending" },
        { C_ENUM (CM_EVENT_STATE_SENDING_FAILED), "CM_EVENT_STATE_SENDING_FAILED", "sending-failed" },
        { C_ENUM (CM_EVENT_STATE_SENT), "CM_EVENT_STATE_SENT", "sent" },
        { C_ENUM (CM_EVENT_STATE_RECEIVED), "CM_EVENT_STATE_RECEIVED", "received" },
        { 0, NULL, NULL }
    };
    if (g_once_init_enter (&gtype_id)) {
        GType new_type = g_enum_register_static (g_intern_static_string ("CmEventState"), values);
        g_once_init_leave (&gtype_id, new_type);
    }
    return (GType) gtype_id;
}

/* Generated data ends here */

