FoObject

FoObject — libfo base object type

Functions

Types and Values

struct FoObject
struct FoObjectClass

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── FoObject
            ├── FoNode
            ├── FoDatatype
            ├── FoContext
            ├── FoProperty
            ╰── FoHashTable

Description

Top of the object hierarchy for libfo.

Extends GObject to add some common debugging and logging functions.

Functions

fo_object_new ()

FoObject *
fo_object_new (void);

Creates a new FoObject initialized to default value.

Returns

the new FoObject.


fo_object_debug_dump ()

void
fo_object_debug_dump (gpointer object,
                      gint depth);

Calls debug_dump method of class of object , if object is an FoObject or descendant type of FoObject.

Parameters

object

The FoObject object.

 

depth

Indent level to add to the output.

 

fo_object_debug_sprintf ()

gchar *
fo_object_debug_sprintf (gpointer object);

Calls debug_sprintf method of class of object , if object is an FoObject or descendant type of FoObject.

Parameters

object

The FoObject object.

 

Returns

Result of debug_sprintf method of class of object .


fo_object_sprintf ()

gchar *
fo_object_sprintf (gpointer object);

Calls sprintf method of class of object , if object is an FoObject or descendant type of FoObject.

Parameters

object

The FoObject object.

 

Returns

Result of sprintf method of class of object .


fo_object_log_error ()

void
fo_object_log_error (FoObject *object,
                     GError **error);

Calls the 'log_error' method of the class of object .

The called method clears error .

Parameters

object

FoObject that is subject of error .

 

error

GError with information about error that occurred.

 

fo_object_log_warning ()

void
fo_object_log_warning (FoObject *object,
                       GError **warning);

Calls the 'log_warning' method of the class of object .

The called method clears error .

Parameters

object

FoObject that is subject of error .

 

warning

GError with information about warning that occurred.

 

fo_object_log_debug ()

void
fo_object_log_debug (FoObject *object,
                     GError **debug);

Calls the 'log_debug' method of the class of object .

The called method clears error .

Parameters

object

FoObject that is subject of error .

 

debug

GError with debugging information.

 

fo_object_log_or_propagate_error ()

gboolean
fo_object_log_or_propagate_error (FoObject *fo_object,
                                  GError **dest,
                                  GError *src);

If can propagate src to dest , do so, otherwise log src using fo_object_log_error().

Parameters

fo_object

FoObject that is the subject of src .

 

dest

GError to which to propagate src , or NULL.

 

src

GError with information about error that occurred.

 

Returns

TRUE if error propagated, otherwise FALSE.


fo_object_maybe_propagate_error ()

gboolean
fo_object_maybe_propagate_error (FoObject *fo_object,
                                 GError **dest,
                                 GError *src,
                                 gboolean continue_after_error);

If continue_after_error is FALSE and can propagate src to dest , then do so, otherwise log src using fo_object_log_error().

Parameters

fo_object

FoObject that is the subject of src .

 

dest

GError to which to propagate src , or NULL.

 

src

GError with information about error that occurred.

 

continue_after_error

Whether or not to continue after an error.

 

Returns

TRUE if error propagated, otherwise FALSE.


fo_object_hash ()

guint
fo_object_hash (FoObject *object,
                GError **error);

Create a hash code for the object.

Parameters

object

FoObject for which to get hash value.

 

error

GError with information about error that occurred.

 

Returns

Hash code for the object.


fo_object_equal ()

gboolean
fo_object_equal (FoObject *a,
                 FoObject *b,
                 GError **error);

Compare a to b using the 'equal_func' of the class of a .

Parameters

a

First object to compare.

 

b

Second object to compare.

 

error

GError with information about error that occurred.

 

Returns

TRUE if the objects are equal.

Types and Values

struct FoObject

struct FoObject;

struct FoObjectClass

struct FoObjectClass {
  GInitiallyUnownedClass parent_class;

  void     (* debug_dump)	      (FoObject     *object,
				       gint          depth);
  char*    (* debug_sprintf)	      (FoObject     *object);
  char*    (* print_sprintf)	      (FoObject     *object);
  void     (* log_error)              (FoObject     *object,
				       GError      **error);
  void     (* log_warning)            (FoObject     *object,
				       GError      **warning);
  void     (* log_debug)              (FoObject     *object,
				       GError      **debug);
  gboolean (* log_or_propagate_error) (FoObject     *fo_object,
				       GError      **dest,
				       GError       *src);
  gboolean (* maybe_propagate_error)  (FoObject     *fo_object,
				       GError      **dest,
				       GError       *src,
				       gboolean      continue_after_error);
  guint    (* hash_func)              (gconstpointer key);
  gboolean (* equal_func)             (gconstpointer a,
				       gconstpointer b);
};