00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MIDGARD_OBJECT_PROPERTY_H
00020 #define MIDGARD_OBJECT_PROPERTY_H
00021
00022 #include "midgard/midgard_type.h"
00023 #include "midgard/types.h"
00024
00025
00026
00027
00028 #define MIDGARD_TYPE_OBJECT_PROPERTY (midgard_object_property_get_type())
00029 #define MIDGARD_OBJECT_PROPERTY(object) \
00030 (G_TYPE_CHECK_INSTANCE_CAST ((object),MIDGARD_TYPE_OBJECT_PROPERTY, midgard))
00031 #define MIDGARD_OBJECT_PROPERTY_CLASS(klass) \
00032 (G_TYPE_CHECK_CLASS_CAST ((klass), MIDGARD_TYPE_OBJECT_PROPERTY, MidgardObjectPropertyClass))
00033 #define MIDGARD_IS_OBJECT_PROPERTY(object) \
00034 (G_TYPE_CHECK_INSTANCE_TYPE ((object), MIDGARD_TYPE_OBJECT_PROPERTY))
00035 #define MIDGARD_IS_OBJECT_PROPERTY_CLASS(klass) \
00036 (G_TYPE_CHECK_CLASS_TYPE ((klass), MIDGARD_TYPE_OBJECT_PROPERTY))
00037 #define MIDGARD_OBJECT_PROPERTY_GET_CLASS(obj) \
00038 (G_TYPE_INSTANCE_GET_CLASS ((obj), MIDGARD_TYPE_OBJECT_PROPERTY, MidgardObjectPropertyClass))
00039
00040 typedef struct _MidgardObjectProperty MidgardObjectProperty;
00041 typedef struct _MidgardObjectPropertyClass MidgardObjectPropertyClass;
00042
00050 struct _MidgardObjectPropertyClass{
00051 GObjectClass parent;
00052
00053
00054 gboolean (*is_multilang) (const gchar *classname, const gchar *property);
00055 gboolean (*is_link) (const gchar *classname, const gchar *property);
00056 };
00057
00065 struct _MidgardObjectProperty{
00066 GObject parent;
00067 };
00068
00076 extern GType
00077 midgard_object_property_get_type(void);
00078
00095 extern GType
00096 midgard_object_property_get_midgard_type(const gchar *classname, const gchar *name);
00097
00113 extern gboolean
00114 midgard_object_property_is_link(const gchar *classname, const gchar *name);
00115
00131 extern gboolean
00132 midgard_object_property_is_linked(const gchar *classname, const gchar *name);
00133
00150 extern MidgardObjectClass
00151 *midgard_object_property_get_link_class(MidgardObjectClass *klass, const gchar *name);
00152
00167 extern const gchar
00168 *midgard_object_property_get_link_name(const gchar *classname, const gchar *name);
00169
00188 extern const gchar
00189 *midgard_object_property_description(const gchar *classname, const gchar *name);
00190
00207 extern gboolean
00208 midgard_object_property_is_multilang(const gchar *classname, const gchar *name);
00209
00210 #endif