00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _SIMPLE_CONSTRAINT_H
00019 #define _SIMPLE_CONSTRAINT_H
00020
00021 #include <glib.h>
00022 #include <glib-object.h>
00023 #include "query_constraint.h"
00024 #include "midgard/midgard_defs.h"
00025 #include "midgard/types.h"
00026
00027 #define MIDGARD_TYPE_SIMPLE_CONSTRAINT (midgard_simple_constraint_get_type())
00028 #define MIDGARD_SIMPLE_CONSTRAINT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), MIDGARD_TYPE_SIMPLE_CONSTRAINT, MidgardSimpleConstraint))
00029 #define MIDGARD_SIMPLE_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), MIDGARD_TYPE_SIMPLE_CONSTRAINT, MidgardSimpleConstraintClass))
00030 #define MIDGARD_IS_SIMPLE_CONSTRAINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MIDGARD_TYPE_SIMPLE_CONSTRAINT))
00031 #define MIDGARD_IS_SIMPLE_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), MIDGARD_TYPE_SIMPLE_CONSTRAINT))
00032 #define MIDGARD_SIMPLE_CONSTRAINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), MIDGARD_TYPE_SIMPLE_CONSTRAINT, MidgardSimpleConstraintClass))
00033
00034 typedef struct {
00035 MidgardQueryConstraint parent;
00036
00037
00038 const midgard *mgd;
00039 const GParamSpec *spec;
00040 const gchar *op;
00041 GValue *value;
00042 GObjectClass *klass;
00043 GObjectClass *initial_klass;
00044 GType ext_type;
00045 GType parent_type;
00046
00047 GList *types;
00048 } MidgardSimpleConstraint;
00049
00050 typedef struct {
00051 MidgardQueryConstraintClass parent;
00052 } MidgardSimpleConstraintClass;
00053
00054 extern GType midgard_simple_constraint_get_type(void);
00055
00056 extern MidgardSimpleConstraint *midgard_simple_constraint_new(
00057 midgard *mgd, GObjectClass *klass,
00058 const gchar *name, const gchar *op, const GValue *value);
00059
00060 #endif