Midgard Error


Defines

#define MIDGARD_ERRNO_SET(str, errcode)

Enumerations

enum  MgdErrorGeneric {
  MGD_ERR_OK = -0, MGD_ERR_ERROR = -1, MGD_ERR_ACCESS_DENIED = -2, MGD_ERR_SITEGROUP_VIOLATION = -3,
  MGD_ERR_NOT_OBJECT = -4, MGD_ERR_NOT_EXISTS = -5, MGD_ERR_NO_MEM = -6, MGD_ERR_INVALID_NAME = -7,
  MGD_ERR_DUPLICATE = -8, MGD_ERR_HAS_DEPENDANTS = -9, MGD_ERR_RANGE = -10, MGD_ERR_NOT_CONNECTED = -11,
  MGD_ERR_SG_NOTFOUND = -12, MGD_ERR_INVALID_OBJECT = -13, MGD_ERR_QUOTA = -14, MGD_ERR_INTERNAL = -15,
  MGD_ERR_OBJECT_NAME_EXISTS = -16, MGD_ERR_OBJECT_NO_STORAGE = -17, MGD_ERR_OBJECT_NO_PARENT = -18, MGD_ERR_INVALID_PROPERTY_VALUE = -19,
  MGD_ERR_USER_DATA = -20, MGD_ERR_OBJECT_DELETED = -21, MGD_ERR_OBJECT_PURGED = -22, MGD_ERR_OBJECT_EXPORTED = -23,
  MGD_ERR_OBJECT_IMPORTED = -24, MGD_ERR_MISSED_DEPENDENCE = -25
}

Functions

GQuark midgard_error_generic (void)
const gchar * midgard_error_string (GQuark domain, gint errcode)
void midgard_set_error (MidgardConnection *mgd, GQuark domain, gint errcode, const gchar *msg,...)

Define Documentation

#define MIDGARD_ERRNO_SET str,
errcode   ) 
 

Value:

str->errn = errcode; \
        midgard_set_error(str->_mgd, \
        MGD_GENERIC_ERROR, \
        errcode, \
        NULL); \
        g_clear_error(&str->_mgd->err);
define MIDGARD_ERRNO_SET(mgd, errcode)

A simplified macro to set default error

Definition at line 135 of file midgard_error.h.

Referenced by midgard_get_object_by_guid(), midgard_import_object(), midgard_object_export(), midgard_object_find(), midgard_object_get_by_guid(), midgard_object_get_by_id(), midgard_object_get_by_path(), midgard_object_get_size(), midgard_object_list(), midgard_object_list_children(), midgard_object_purge(), midgard_object_set_parameter(), midgard_object_undelete(), midgard_query_builder_count(), midgard_query_builder_execute(), midgard_quota_create(), midgard_quota_size_is_reached(), and midgard_quota_update().


Enumeration Type Documentation

enum MgdErrorGeneric
 

MidgardErrorGeneric enum type. This enum provides new generic error constants , and also keeps backward compatible ones.

Enumerator:
MGD_ERR_OK  No error
MGD_ERR_ERROR 
MGD_ERR_ACCESS_DENIED  Access denied *
MGD_ERR_SITEGROUP_VIOLATION  Resource link crosses sitegroup borders
MGD_ERR_NOT_OBJECT  Not Midgard Object
MGD_ERR_NOT_EXISTS  Object does not exist
MGD_ERR_NO_MEM 
MGD_ERR_INVALID_NAME 
MGD_ERR_DUPLICATE  Object already exist
MGD_ERR_HAS_DEPENDANTS  Object has dependants
MGD_ERR_RANGE 
MGD_ERR_NOT_CONNECTED  Not connected to the Midgard database
MGD_ERR_SG_NOTFOUND  Sitegroup not found
MGD_ERR_INVALID_OBJECT  Object not registered as Midgard Object
MGD_ERR_QUOTA  Quota limit reached
MGD_ERR_INTERNAL  Critical internal error
MGD_ERR_OBJECT_NAME_EXISTS  Object with such name exists in tree
MGD_ERR_OBJECT_NO_STORAGE  Storage table not defined for object
MGD_ERR_OBJECT_NO_PARENT  Parent object in tree not defined
MGD_ERR_INVALID_PROPERTY_VALUE  Invalid property value
MGD_ERR_USER_DATA  Empty error message reserved for application's developers
MGD_ERR_OBJECT_DELETED  Object deleted
MGD_ERR_OBJECT_PURGED  Object purged
MGD_ERR_OBJECT_EXPORTED  Object already exported
MGD_ERR_OBJECT_IMPORTED  Object already imported
MGD_ERR_MISSED_DEPENDENCE  Missed dependence for object

Definition at line 41 of file midgard_error.h.


Function Documentation

GQuark midgard_error_generic void   ) 
 

GQuark for Midgard Error. It's used by Midgard Error implementation, and probably is not needed to use by any application.

Returns:
MGD_GENERIC_ERROR GQuark

Definition at line 22 of file midgard_error.c.

const gchar* midgard_error_string GQuark  domain,
gint  errcode
 

Get error message for the given error code.

Parameters:
domain,GQuark which represents MidgardError domain.
errcode,MidgardErrorGeneric enum value.
Returns:
error messages which is owned by midgard-core and should not be freed.

Definition at line 30 of file midgard_error.c.

References MGD_ERR_ACCESS_DENIED, MGD_ERR_DUPLICATE, MGD_ERR_HAS_DEPENDANTS, MGD_ERR_INTERNAL, MGD_ERR_INVALID_NAME, MGD_ERR_INVALID_OBJECT, MGD_ERR_INVALID_PROPERTY_VALUE, MGD_ERR_MISSED_DEPENDENCE, MGD_ERR_NO_MEM, MGD_ERR_NOT_CONNECTED, MGD_ERR_NOT_EXISTS, MGD_ERR_NOT_OBJECT, MGD_ERR_OBJECT_DELETED, MGD_ERR_OBJECT_EXPORTED, MGD_ERR_OBJECT_IMPORTED, MGD_ERR_OBJECT_NAME_EXISTS, MGD_ERR_OBJECT_NO_PARENT, MGD_ERR_OBJECT_NO_STORAGE, MGD_ERR_OBJECT_PURGED, MGD_ERR_OK, MGD_ERR_QUOTA, MGD_ERR_RANGE, MGD_ERR_SG_NOTFOUND, MGD_ERR_SITEGROUP_VIOLATION, and MGD_ERR_USER_DATA.

Referenced by midgard_set_error().

void midgard_set_error MidgardConnection mgd,
GQuark  domain,
gint  errcode,
const gchar *  msg,
  ...
 

Sets internal error constant and error message.

Parameters:
mgd,MidgardConnection instance
domain,GQuark which represents MidgardError domain
errcode,MidgardErrorGeneric enum value
msg,a message which should be appended to string represented by errcode
...,message argument list ( if required )
This function sets internal error constant, and creates new error message. User defined message is appended to internal one. Any message created by application ( and its corresponding constant ) are destroyed and reset to MGD_ERR_OK when any API function is invoked. Second domain parameter is optional , and can be safely defined as NULL for MGD_GENERIC_ERROR domain.

Example:

        
        void set_wrong_property(MidgardConnection *mgd, gchar *prop)
        {
                midgard_set_error(mgd, NULL, 
                                MGD_ERR_INVALID_PROPERTY_VALUE,
                                "My application doesn't accept %s property",
                                prop);
        }

Definition at line 151 of file midgard_error.c.

References MidgardConnection::err, _midgard::errn, MidgardConnection::errnum, MidgardConnection::errstr, MidgardConnection::mgd, and midgard_error_string().

Referenced by _midgard_core_object_is_valid(), midgard_blob_read(), midgard_connection_open(), midgard_connection_set_loglevel(), midgard_object_export(), midgard_object_get_languages(), and midgard_object_undelete().

Here is the call graph for this function:


Generated on Thu Feb 22 06:15:20 2007 for midgard-core by  doxygen 1.4.6