GEnumとGFlags用の検証ユーティリティ

GEnumとGFlags用の検証ユーティリティ — GEnumまたはGFlagsに関する検証をもっと簡単に書くためのユーティリティ。

概要

#define             GCUT_ENUM_ERROR
enum                GCutEnumError;
GQuark              gcut_enum_error_quark               (void);
gchar *             gcut_enum_inspect                   (GType enum_type,
                                                         gint enum_value);
gint                gcut_enum_parse                     (GType enum_type,
                                                         const gchar *enum_value,
                                                         GError **error);
guint               gcut_flags_get_all                  (GType flags_type,
                                                         GError **error);
gchar *             gcut_flags_inspect                  (GType flags_type,
                                                         guint flags_value);
guint               gcut_flags_parse                    (GType flags_type,
                                                         const gchar *flags_value,
                                                         GError **error);

説明

検証を書くためには等価性を検証し、期待値と実測値を表示する必要があります。

このユーティリティはGEnumまたはGFlagsに関する検証の作成を補助します。

詳細

GCUT_ENUM_ERROR

#define GCUT_ENUM_ERROR (gcut_enum_error_quark())

列挙型関連操作用のエラードメインです。このドメインのエラーはGCutEnumError列挙型のどれかです。

1.0.6から


enum GCutEnumError

typedef enum {
    GCUT_ENUM_ERROR_INVALID_TYPE,
    GCUT_ENUM_ERROR_INVALID_VALUE
} GCutEnumError;

列挙型関連操作で返されるエラーコード。

GCUT_ENUM_ERROR_INVALID_TYPE

不正な型。

GCUT_ENUM_ERROR_INVALID_VALUE

不正な値。

1.0.6から


gcut_enum_error_quark ()

GQuark              gcut_enum_error_quark               (void);


gcut_enum_inspect ()

gchar *             gcut_enum_inspect                   (GType enum_type,
                                                         gint enum_value);

enum_typeの値enum_valueの詳細を返します。返された文字列が必要なくなったときは開放してください。

enum_type :

GEnumの型。

enum_value :

詳細を示すGEnumの値。

戻り値 :

enum_valueの詳細を示した文字列。

1.0.5から


gcut_enum_parse ()

gint                gcut_enum_parse                     (GType enum_type,
                                                         const gchar *enum_value,
                                                         GError **error);

enum_valueをパースし、enum_type型の列挙値を返します。enum_valueは列挙名またはニックネームでなければいけません。enum_valueがマッチしない場合はerrorGCutEnumErrorエラーが設定されます。

enum_type :

GEnumの型。

enum_value :

パースされる文字列。

error :

エラーを返すアドレスまたはNULL

戻り値 :

enum_valueに対応するenum_typeの値。

1.0.6から


gcut_flags_get_all ()

guint               gcut_flags_get_all                  (GType flags_type,
                                                         GError **error);

すべてのフラグ値が有効なフラグ値を返します。

flags_type :

GFlagsの型。

error :

エラーを返すアドレスまたはNULL

戻り値 :

すべてのフラグ値が有効なフラグ値。

1.0.6から


gcut_flags_inspect ()

gchar *             gcut_flags_inspect                  (GType flags_type,
                                                         guint flags_value);

flags_typeの値flags_valueの詳細を返します。返された文字列が必要なくなったときは開放してください。

flags_type :

GFlagsの型。

flags_value :

詳細を示すGFlagsの値。

戻り値 :

flags_valueの詳細を示した文字列。

1.0.5から


gcut_flags_parse ()

guint               gcut_flags_parse                    (GType flags_type,
                                                         const gchar *flags_value,
                                                         GError **error);

flags_valueをパースし、flags_type型のフラグ値を返します。flags_valueは"ニックネームまたは名前1|ニックネームまたは名前2|...|ニックネームまたは名前N"という書式でなければいけません。flags_valueが未知のフラグを含んでいる場合は、errorGCutEnumErrorエラーが設定されます。

flags_type :

GFlagsの型。

flags_value :

パースされる文字列。

error :

エラーを返すアドレスまたはNULL

戻り値 :

flags_valueに対応するflags_typeの値。

1.0.6から