midgard_sitegroup

midgard_sitegroup — Virtual database context

Synopsis


#include <midgard/midgard.h>

                    MidgardSitegroupPrivate;
typedef             midgard_sitegroup;
                    MidgardSitegroup;
MidgardSitegroup *  midgard_sitegroup_new               (MidgardConnection *mgd,
                                                         const GValue *value);
gchar **            midgard_sitegroup_list              (MidgardConnection *mgd);
gboolean            midgard_sitegroup_create            (MidgardSitegroup *self);
gboolean            midgard_sitegroup_update            (MidgardSitegroup *self);
gboolean            midgard_sitegroup_delete            (MidgardSitegroup *self);

Object Hierarchy

  GObject
   +----midgard_dbobject
         +----midgard_sitegroup

Properties

  "admingroupguid"           gchar*                : Read / Write
  "adminid"                  guint                 : Read / Write
  "guid"                     gchar*                : Read
  "id"                       guint                 : Read
  "name"                     gchar*                : Read / Write
  "public"                   gboolean              : Read / Write
  "realm"                    gchar*                : Read / Write

Description

MidgardSitegroup (midgard_sitegroup) class represents virtual database context.

Details

MidgardSitegroupPrivate

typedef struct _MidgardSitegroupPrivate MidgardSitegroupPrivate;


midgard_sitegroup

typedef struct _MidgardSitegroup midgard_sitegroup;


MidgardSitegroup

typedef struct {
	GObject parent;
	MidgardDBObjectPrivate *dbpriv;
	MidgardSitegroupPrivate *priv;
	const gchar *name;
	const gchar *realm;
	const gchar *group;
	gboolean ispublic;
	guint id;
	guint adminid;
	GObject *metadata;
} MidgardSitegroup;


midgard_sitegroup_new ()

MidgardSitegroup *  midgard_sitegroup_new               (MidgardConnection *mgd,
                                                         const GValue *value);

Given value must be of type G_TYPE_STRING or G_TYPE_INT. Might be set to NULL if "empty" instance must be created.

Cases to return NULL:

  • value doesn't hold string or int

  • value holds valid type but object doesn't exists in database ( MGD_ERR_NOT_EXISTS )

  • more than one object identified by particular id or name returned ( MGD_ERR_INTERNAL )

mgd :

MidgardConnection instance

value :

GValue which holds sitegroup identifier

Returns :

New MidgardSitegroup object or NULL on failure

midgard_sitegroup_list ()

gchar **            midgard_sitegroup_list              (MidgardConnection *mgd);

If method is called by normal user or by anonymous, all public sitegroup's name are returned. For root user, every sitegroup name is returned.

mgd :

MidgardConnection instance

Returns :

Newly allocated (NULL terminated) array of strings or NULL on failure. g_strfreev should be used to free returned array.

midgard_sitegroup_create ()

gboolean            midgard_sitegroup_create            (MidgardSitegroup *self);

Creates new record for the given MidgardSitegroup object. Only Midgard root is able to create sitegroup. Also root user is responsible to set name property before creating.

Setting public property is optional. By default it's set to TRUE. Internal MidgardConnection sitegroup cache is refreshed when object is created.

Cases to return FALSE:

  • Logged in user is not a root (MGD_ERR_ACCESS_DENIED)

  • Given MidgardSitegroup name is empty or NULL (MGD_ERR_INVALID_NAME)

  • MidgardSitegroup object already exists with given name (MGD_ERR_OBJECT_NAME_EXISTS)

self :

MidgardSitegroup self instance

Returns :

%TRUE on success, FALSE otherwise

midgard_sitegroup_update ()

gboolean            midgard_sitegroup_update            (MidgardSitegroup *self);

Updates MidgardSitegroup record. Only Midgard root is able to update sitegroup.

Cases to return FALSE:

  • Logged in user is not a root (MGD_ERR_ACCESS_DENIED)

  • Given MidgardSitegroup name is empty or NULL (MGD_ERR_INVALID_NAME)

  • MidgardSitegroup object already exists with given name and with different guid (MGD_ERR_OBJECT_NAME_EXISTS)

self :

MidgardSitegroup self instance

Returns :

%TRUE on success, FALSE otherwise

midgard_sitegroup_delete ()

gboolean            midgard_sitegroup_delete            (MidgardSitegroup *self);

Not yet implemented.

self :

MidgardSitegroup self instance

Returns :

Property Details

The "admingroupguid" property

  "admingroupguid"           gchar*                : Read / Write

Default value: ""


The "adminid" property

  "adminid"                  guint                 : Read / Write

Legacy admingroup id.

Default value: 0


The "guid" property

  "guid"                     gchar*                : Read

Default value: ""


The "id" property

  "id"                       guint                 : Read

Default value: 0


The "name" property

  "name"                     gchar*                : Read / Write

Unique name.

Default value: ""


The "public" property

  "public"                   gboolean              : Read / Write

Default value: TRUE


The "realm" property

  "realm"                    gchar*                : Read / Write

Default value: "Midgard"