utils

utils —

Synopsis




void                gsf_init                            (void);
void                gsf_shutdown                        (void);
void                gsf_init_dynamic                    (GTypeModule *module);
void                gsf_shutdown_dynamic                (GTypeModule *module);
extern              int libgsf_major_version;
extern              int libgsf_minor_version;
extern              int libgsf_micro_version;

#define             GSF_CLASS                           (name, prefix, class_init, instance_init, parent)
#define             GSF_CLASS_FULL                      (name, prefix, base_init, base_finalize,
                                                         			   class_init, class_finalize, instance_init, parent_type,
                                                         		       abstract, interface_decl)
#define             GSF_CLASS_ABSTRACT                  (name, prefix, class_init, instance_init, parent)
#define             GSF_INTERFACE                       (init_func, iface_type)
#define             GSF_INTERFACE_FULL                  (type, init_func, iface_type)
#define             GSF_DYNAMIC_CLASS                   (name, prefix, class_init, instance_init, parent)
#define             GSF_DYNAMIC_CLASS_FULL              (name, prefix, base_init, base_finalize,
                                                         				   class_init,  class_finalize, instance_init, parent_type,
                                                         			       abstract, interface_decl)
#define             GSF_DYNAMIC_CLASS_ABSTRACT          (name, prefix, class_init, instance_init, parent)
#define             GSF_DYNAMIC_INTERFACE               (init_func, iface_type, module)
#define             GSF_DYNAMIC_INTERFACE_FULL          (type, init_func, iface_type, module)
#define             GSF_PARAM_STATIC

#define             GSF_ERROR
enum                GsfError;
GQuark              gsf_error_quark                     (void);

void                gsf_mem_dump                        (guint8 const *ptr,
                                                         size_t len);
void                gsf_input_dump                      (GsfInput *input,
                                                         gboolean dump_as_hex);

#define             GSF_OFF_T_FORMAT
typedef             gsf_off_t;
char*               gsf_filename_to_utf8                (char const *filename,
                                                         gboolean quoted);
void                gsf_iconv_close                     (GIConv handle);
charconst *         gsf_extension_pointer               (char const *path);

guint8*             gsf_base64_encode_simple            (guint8 const *data,
                                                         size_t len);
size_t              gsf_base64_encode_close             (guint8 const *in,
                                                         size_t inlen,
                                                         gboolean break_lines,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);
size_t              gsf_base64_encode_step              (guint8 const *in,
                                                         size_t len,
                                                         gboolean break_lines,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);
size_t              gsf_base64_decode_simple            (guint8 *data,
                                                         size_t len);
size_t              gsf_base64_decode_step              (guint8 const *in,
                                                         size_t len,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);
#define             GSF_LE_GET_GINT8                    (p)
#define             GSF_LE_GET_GUINT64                  (p)
#define             GSF_LE_GET_GINT16                   (p)
#define             GSF_LE_GET_GUINT8                   (p)
#define             GSF_LE_GET_GINT32                   (p)
#define             GSF_LE_GET_GUINT16                  (p)
#define             GSF_LE_GET_GUINT32                  (p)
#define             GSF_LE_GET_GINT64                   (p)
guint64             gsf_le_get_guint64                  (void const *p);
#define             GSF_LE_GET_FLOAT                    (p)
float               gsf_le_get_float                    (void const *p);
#define             GSF_LE_GET_DOUBLE                   (p)
double              gsf_le_get_double                   (void const *p);
#define             GSF_LE_SET_GUINT8                   (p, dat)
#define             GSF_LE_SET_GUINT16                  (p, dat)
#define             GSF_LE_SET_GUINT32                  (p, dat)
#define             GSF_LE_SET_GINT8                    (p,dat)
#define             GSF_LE_SET_GINT16                   (p,dat)
#define             GSF_LE_SET_GINT32                   (p,dat)
#define             GSF_LE_SET_GINT64                   (p,dat)
#define             GSF_LE_SET_GUINT64                  (p, dat)
#define             GSF_LE_SET_FLOAT                    (p,dat)
#define             GSF_LE_SET_DOUBLE                   (p,dat)
void                gsf_le_set_float                    (void *p,
                                                         float f);
void                gsf_le_set_double                   (void *p,
                                                         double d);

                    GsfTimestamp;
GsfTimestamp*       gsf_timestamp_copy                  (GsfTimestamp const *stamp);
void                gsf_timestamp_free                  (GsfTimestamp *stamp);
char*               gsf_timestamp_as_string             (GsfTimestamp const *stamp);
int                 gsf_timestamp_parse                 (char const *spec,
                                                         GsfTimestamp *stamp);
guint               gsf_timestamp_hash                  (GsfTimestamp const *stamp);
gboolean            gsf_timestamp_equal                 (GsfTimestamp const *a,
                                                         GsfTimestamp const *b);
void                gsf_value_set_timestamp             (GValue *value,
                                                         GsfTimestamp const *stamp);
#define             VAL_IS_GSF_TIMESTAMP                (v)


GValue*             gsf_doc_prop_swap_val               (GsfDocProp *prop,
                                                         GValue *val);
void                gsf_property_settings_collect       (GType object_type,
                                                         GParameter **p_params,
                                                         size_t *p_n_params,
                                                         const gchar *first_property_name,
                                                         ...);
void                gsf_property_settings_collect_valist
                                                        (GType object_type,
                                                         GParameter **p_params,
                                                         size_t *p_n_params,
                                                         const gchar *first_property_name,
                                                         va_list var_args);
void                gsf_property_settings_free          (GParameter *params,
                                                         size_t n_params);

Description

Details

gsf_init ()

void                gsf_init                            (void);

Initializes the GSF library


gsf_shutdown ()

void                gsf_shutdown                        (void);

De-intializes the GSF library


gsf_init_dynamic ()

void                gsf_init_dynamic                    (GTypeModule *module);

module :

gsf_shutdown_dynamic ()

void                gsf_shutdown_dynamic                (GTypeModule *module);

module :

libgsf_major_version

extern int libgsf_major_version;

The major version number of the GSF library. (e.g. in GSF version 1.2.5 this is 1.)

This variable is in the library and thus represents the GSF library you have linked against (which may be different from the version of the GSF library from which you have included the headers).


libgsf_minor_version

extern int libgsf_minor_version;

The minor version number of the GLib library. (e.g. in GLib version 1.2.5 this is 2.)

This variable is in the library and thus represents the GSF library you have linked against (which may be different from the version of the GSF library from which you have included the headers).


libgsf_micro_version

extern int libgsf_micro_version;

The micro version number of the GSF library. (e.g. in GSF version 1.2.5 this is 5.)

This variable is in the library and thus represents the GSF library you have linked against (which may be different from the version of the GSF library from which you have included the headers).


GSF_CLASS()

#define             GSF_CLASS(name, prefix, class_init, instance_init, parent)

name :
prefix :
class_init :
instance_init :
parent :

GSF_CLASS_FULL()

#define             GSF_CLASS_FULL(name, prefix, base_init, base_finalize, \
            			   class_init, class_finalize, instance_init, parent_type, \
            		       abstract, interface_decl)

name :
prefix :
base_init :
base_finalize :
class_init :
class_finalize :
instance_init :
parent_type :
abstract :
interface_decl :

GSF_CLASS_ABSTRACT()

#define             GSF_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)

name :
prefix :
class_init :
instance_init :
parent :

GSF_INTERFACE()

#define             GSF_INTERFACE(init_func, iface_type)

init_func :
iface_type :

GSF_INTERFACE_FULL()

#define             GSF_INTERFACE_FULL(type, init_func, iface_type)

type :
init_func :
iface_type :

GSF_DYNAMIC_CLASS()

#define             GSF_DYNAMIC_CLASS(name, prefix, class_init, instance_init, parent)

name :
prefix :
class_init :
instance_init :
parent :

GSF_DYNAMIC_CLASS_FULL()

#define             GSF_DYNAMIC_CLASS_FULL(name, prefix, base_init, base_finalize, \
            				   class_init,  class_finalize, instance_init, parent_type, \
            			       abstract, interface_decl)

name :
prefix :
base_init :
base_finalize :
class_init :
class_finalize :
instance_init :
parent_type :
abstract :
interface_decl :

GSF_DYNAMIC_CLASS_ABSTRACT()

#define             GSF_DYNAMIC_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)

name :
prefix :
class_init :
instance_init :
parent :

GSF_DYNAMIC_INTERFACE()

#define             GSF_DYNAMIC_INTERFACE(init_func, iface_type, module)

init_func :
iface_type :
module :

GSF_DYNAMIC_INTERFACE_FULL()

#define             GSF_DYNAMIC_INTERFACE_FULL(type, init_func, iface_type, module)

type :
init_func :
iface_type :
module :

GSF_PARAM_STATIC

#define             GSF_PARAM_STATIC


GSF_ERROR

#define GSF_ERROR (gsf_error_quark ())

This convenience macro simply calls gsf_error_quark(). You can use it in calls to g_error_matches(), for example. The macro returns the GQuark that is used to identify errors from libgsf functions. Specific error codes come from the GsfError enumeration.


enum GsfError

typedef enum {
	GSF_ERROR_OUT_OF_MEMORY,
	GSF_ERROR_INVALID_DATA
} GsfError;

Error codes that can be returned from libgsf functions in GError structures.

GSF_ERROR_OUT_OF_MEMORY Not enough memory could be allocated to hold a structure or object.
GSF_ERROR_INVALID_DATA A file being read contained invalid or inconsistent data.

gsf_error_quark ()

GQuark              gsf_error_quark                     (void);

Returns the GQuark used to identify libgsf errors in GError structures. Specific error codes come from the GsfError enumeration.

Returns : A GQuark.

gsf_mem_dump ()

void                gsf_mem_dump                        (guint8 const *ptr,
                                                         size_t len);

Dump len bytes from the memory location given by ptr.

ptr : memory area to be dumped.
len : how many bytes will be dumped.

gsf_input_dump ()

void                gsf_input_dump                      (GsfInput *input,
                                                         gboolean dump_as_hex);

Dumps input's contents to STDOUT, optionally in hex format.

input : a GsfInput
dump_as_hex : If TRUE, dump in hexidecmal format

GSF_OFF_T_FORMAT

#define GSF_OFF_T_FORMAT	G_GINT64_FORMAT


gsf_off_t

typedef gint64 gsf_off_t;


gsf_filename_to_utf8 ()

char*               gsf_filename_to_utf8                (char const *filename,
                                                         gboolean quoted);

A utility wrapper to make sure filenames are valid utf8. Caller must g_free the result.

filename : file name suitable for open(2).
quoted : if TRUE, the resulting utf8 file name will be quoted (unless it is invalid).
Returns : filename using utf-8 encoding for display

gsf_iconv_close ()

void                gsf_iconv_close                     (GIConv handle);

A utility wrapper to safely close an iconv handle.

handle : handle to be closed.

gsf_extension_pointer ()

charconst *         gsf_extension_pointer               (char const *path);

Extracts the extension from the end of a filename (the part after the final '.' in the filename).

path : A filename or file path.
Returns : A pointer to the extension part of the filename, or a pointer to the end of the string if the filename does not have an extension.

gsf_base64_encode_simple ()

guint8*             gsf_base64_encode_simple            (guint8 const *data,
                                                         size_t len);

data :
len :
Returns :

gsf_base64_encode_close ()

size_t              gsf_base64_encode_close             (guint8 const *in,
                                                         size_t inlen,
                                                         gboolean break_lines,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);

in :
inlen :
break_lines :
out :
state :
save :
Returns :

gsf_base64_encode_step ()

size_t              gsf_base64_encode_step              (guint8 const *in,
                                                         size_t len,
                                                         gboolean break_lines,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);

in :
len :
break_lines :
out :
state :
save :
Returns :

gsf_base64_decode_simple ()

size_t              gsf_base64_decode_simple            (guint8 *data,
                                                         size_t len);

data :
len :
Returns :

gsf_base64_decode_step ()

size_t              gsf_base64_decode_step              (guint8 const *in,
                                                         size_t len,
                                                         guint8 *out,
                                                         int *state,
                                                         guint *save);

Decodes a chunk of base64 encoded data

in : input stream
len : max length of data to decode
out : output stream
state : holds the number of bits that are stored in save
save : leftover bits that have not yet been decoded
Returns : the number of bytes converted

GSF_LE_GET_GINT8()

#define GSF_LE_GET_GINT8(p) ((gint8)GSF_LE_GET_GUINT8(p))

Interpret data as an 8 bit integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GUINT64()

#define GSF_LE_GET_GUINT64(p) (gsf_le_get_guint64 (p))

Interpret data as a 64 bit unsigned integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GINT16()

#define GSF_LE_GET_GINT16(p) ((gint16)GSF_LE_GET_GUINT16(p))

Interpret data as a 16 bit integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GUINT8()

#define GSF_LE_GET_GUINT8(p) (*(guint8 const *)(p))

Interpret data as an 8 bit unsigned integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GINT32()

#define GSF_LE_GET_GINT32(p) ((gint32)GSF_LE_GET_GUINT32(p))

Interpret data as a 32 bit integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GUINT16()

#define             GSF_LE_GET_GUINT16(p)

Interpret data as a 16 bit unsigned integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GUINT32()

#define             GSF_LE_GET_GUINT32(p)

Interpret data as a 32 bit unsigned integer value in little endian order.

p : Pointer to storage

GSF_LE_GET_GINT64()

#define GSF_LE_GET_GINT64(p) ((gint64)GSF_LE_GET_GUINT64(p))

Interpret data as a 64 bit integer value in little endian order.

p : Pointer to storage

gsf_le_get_guint64 ()

guint64             gsf_le_get_guint64                  (void const *p);

Interpret binary data as a guint64 (8 byte unsigned integer type) in little endian order.

p : pointer to storage
Returns : interpreted data

GSF_LE_GET_FLOAT()

#define GSF_LE_GET_FLOAT(p) (gsf_le_get_float (p))

Interpret data as a float value in little endian order.

p : Pointer to storage

gsf_le_get_float ()

float               gsf_le_get_float                    (void const *p);

Interpret binary data as a float in little endian order.

p : pointer to storage
Returns : interpreted data

GSF_LE_GET_DOUBLE()

#define GSF_LE_GET_DOUBLE(p) (gsf_le_get_double (p))

Interpret data as a double value in little endian order.

p : Pointer to storage

gsf_le_get_double ()

double              gsf_le_get_double                   (void const *p);

Interpret binary data as a double in little endian order.

p : pointer to storage
Returns : interpreted data

GSF_LE_SET_GUINT8()

#define             GSF_LE_SET_GUINT8(p, dat)

Store an 8 bit unsigned integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GUINT16()

#define             GSF_LE_SET_GUINT16(p, dat)

Store a 16 bit unsigned integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GUINT32()

#define             GSF_LE_SET_GUINT32(p, dat)

Store a 32 bit unsigned integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GINT8()

#define GSF_LE_SET_GINT8(p,dat) GSF_LE_SET_GUINT8((p),(dat))

Store an 8 bit integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GINT16()

#define GSF_LE_SET_GINT16(p,dat) GSF_LE_SET_GUINT16((p),(dat))

Store a 16 bit integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GINT32()

#define GSF_LE_SET_GINT32(p,dat) GSF_LE_SET_GUINT32((p),(dat))

Store a 32 bit integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GINT64()

#define GSF_LE_SET_GINT64(p,dat) GSF_LE_SET_GUINT64((p),(dat))

Store a 64 bit integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_GUINT64()

#define             GSF_LE_SET_GUINT64(p, dat)

Store a 64 bit unsigned integer value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_FLOAT()

#define GSF_LE_SET_FLOAT(p,dat) gsf_le_set_float((p),(dat))

Store a float value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

GSF_LE_SET_DOUBLE()

#define GSF_LE_SET_DOUBLE(p,dat) gsf_le_set_double((p),(dat))

Store a double value in memory in little endian order.

p : Pointer to storage
dat : Value to be stored

gsf_le_set_float ()

void                gsf_le_set_float                    (void *p,
                                                         float f);

Store a value of type float in memory in little endian order.

p : pointer to storage
f : float to be stored

gsf_le_set_double ()

void                gsf_le_set_double                   (void *p,
                                                         double d);

Store a value of type double in memory in little endian order

p : pointer to storage
d : double to be stored

GsfTimestamp

typedef struct {
	GDate	  date;			/* In local timezone */
	glong     seconds;		/* time of day */
	GString	  time_zone;		/* possibly blank */

	guint32	  timet;
} GsfTimestamp;


gsf_timestamp_copy ()

GsfTimestamp*       gsf_timestamp_copy                  (GsfTimestamp const *stamp);

Copies a timestamp.

stamp : timestamp to be copied
Returns : a separate copy of stamp.

gsf_timestamp_free ()

void                gsf_timestamp_free                  (GsfTimestamp *stamp);

Releases the memory in use for stamp (if any).

stamp : timestamp to be freed

gsf_timestamp_as_string ()

char*               gsf_timestamp_as_string             (GsfTimestamp const *stamp);

Produce a string representation of stamp.

stamp : timestamp to be converted.
Returns : a string representation of stamp. When stamp is NULL, the representation is "<invalid>".

gsf_timestamp_parse ()

int                 gsf_timestamp_parse                 (char const *spec,
                                                         GsfTimestamp *stamp);

spec :
stamp :
Returns :

gsf_timestamp_hash ()

guint               gsf_timestamp_hash                  (GsfTimestamp const *stamp);

stamp :
Returns :

gsf_timestamp_equal ()

gboolean            gsf_timestamp_equal                 (GsfTimestamp const *a,
                                                         GsfTimestamp const *b);

Compare timestamps a and b.

a : a timestamp
b : another timestamp
Returns : true if a and b represent the same point in time; false otherwise.

gsf_value_set_timestamp ()

void                gsf_value_set_timestamp             (GValue *value,
                                                         GsfTimestamp const *stamp);

value :
stamp :

VAL_IS_GSF_TIMESTAMP()

#define VAL_IS_GSF_TIMESTAMP(v) (G_TYPE_CHECK_VALUE_TYPE((v), GSF_TIMESTAMP_TYPE))

v :

gsf_doc_prop_swap_val ()

GValue*             gsf_doc_prop_swap_val               (GsfDocProp *prop,
                                                         GValue *val);

prop : GsfDocProp
val : GValue
Returns : the current value of prop, and replaces it with val Caller is responsible for unsetting and freeing the result.

gsf_property_settings_collect ()

void                gsf_property_settings_collect       (GType object_type,
                                                         GParameter **p_params,
                                                         size_t *p_n_params,
                                                         const gchar *first_property_name,
                                                         ...);

object_type :
p_params :
p_n_params :
first_property_name :
... :

gsf_property_settings_collect_valist ()

void                gsf_property_settings_collect_valist
                                                        (GType object_type,
                                                         GParameter **p_params,
                                                         size_t *p_n_params,
                                                         const gchar *first_property_name,
                                                         va_list var_args);

This function builds a GParameter array suitable for g_object_newv.

object_type : the GType for which the properties are being set.
p_params : a pointer to the GParameter array that holds the properties. (Used for both input and output. This may point to a NULL pointer if there are no properties collected yet.)
p_n_params : a pointer to the number of properties collected. (Used for both input and output.)
first_property_name : the name of the first property being set, or NULL.
var_args : a va_list holding the remainder of the property names and values, terminated by a NULL.

gsf_property_settings_free ()

void                gsf_property_settings_free          (GParameter *params,
                                                         size_t n_params);

params :
n_params :