Midgard2 Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy |
#include <midgard/midgard.h> struct MidgardSchemaObjectFactory; struct MidgardSchemaObjectFactoryClass; MidgardObject * midgard_schema_object_factory_get_object_by_guid (MidgardConnection *mgd
,const gchar *guid
); MidgardObject * midgard_schema_object_factory_get_object_by_path (MidgardConnection *mgd
,const gchar *classname
,const gchar *path
); gboolean midgard_schema_object_factory_object_undelete (MidgardConnection *mgd
,const gchar *guid
); MidgardObject * midgard_schema_object_factory_create_object (MidgardConnection *mgd
,const gchar *classname
,GValue *value
);
struct MidgardSchemaObjectFactoryClass { GObjectClass parent; };
MidgardObject * midgard_schema_object_factory_get_object_by_guid (MidgardConnection *mgd
,const gchar *guid
);
Creates new instance of the class defined in Midgard Schema.
Cases to return NULL
:
Given guid is not a valid guid (MGD_ERR_NOT_EXISTS)
There's no object identified by given guid (MGD_ERR_NOT_EXISTS)
Object identified by given guid is deleted (MGD_ERR_OBJECT_DELETED)
Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED)
Object identified by given guid doesn't provide 'metadata' or 'deleted' property (MGD_ERR_INVALID_PROPERTY)
|
MidgardConnection instance |
|
guid which identifies object to look for |
Returns : |
MidgardObject derived new instance or NULL on failure. [transfer full]
|
Since 10.05
MidgardObject * midgard_schema_object_factory_get_object_by_path (MidgardConnection *mgd
,const gchar *classname
,const gchar *path
);
Get object by path. Path elements are objects' names. To get top object with empty name use "/" path. Also empty name is allowed in given path: "/A/B//D".
Cases to return NULL
:
Object identified by given path doesn't exist (MGD_ERR_NOT_EXISTS)
Given classname
doesn't support tree functionality (MGD_ERR_NOT_INTERNAL)
Given classname
doesn't provide 'id' or unique named property (MGD_ERR_NOT_INTERNAL)
|
MidgardConnection instance |
|
name of the class, new instance should be created for |
|
path which identifies object |
Returns : |
MidgardObject derived, new classname instance or NULL . [transfer full]
|
Since 10.05
gboolean midgard_schema_object_factory_object_undelete (MidgardConnection *mgd
,const gchar *guid
);
Cases to return FALSE
:
Object identified by given guid doesn't exist (MGD_ERR_NOT_EXISTS)
Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED)
Object identified by given guid is not deleted (MGD_ERR_USER_DATA)
Either object's or repligard's record couldn't be updated (MGD_ERR_INTERNAL)
|
MidgardConnection instance |
|
guid which identifies object to undelete |
Returns : |
TRUE on success, FALSE otherwise |
Since 10.05
MidgardObject * midgard_schema_object_factory_create_object (MidgardConnection *mgd
,const gchar *classname
,GValue *value
);
Check midgard_object_new()
for returned value and possible errors.
|
MidgardConnection instance |
|
name of the class created object is instance of |
|
value which holds object's identifier |
Returns : |
new MidgardObject derived instance or NULL. [transfer full] |
Since 10.05.1