|  |  |  | GSF Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
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); gboolean gsf_debug_flag (const char *flag); char * gsf_filename_to_utf8 (char const *filename,gboolean quoted); void gsf_iconv_close (GIConv handle); char const * 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); #define GSF_OFF_T_FORMAT typedef gsf_off_t; GsfTimestamp; GsfTimestamp * gsf_timestamp_new (void); void gsf_timestamp_set_time (GsfTimestamp *stamp,guint64 t); GsfTimestamp * gsf_timestamp_copy (GsfTimestamp const *stamp); void gsf_timestamp_free (GsfTimestamp *stamp); char * gsf_timestamp_as_string (GsfTimestamp const *stamp); int gsf_timestamp_load_from_string (GsfTimestamp *stamp,char const *spec); int gsf_timestamp_from_string (char const *spec,GsfTimestamp *stamp); guint gsf_timestamp_hash (GsfTimestamp const *stamp); gboolean gsf_timestamp_equal (GsfTimestamp const *a,GsfTimestamp const *b); void gsf_timestamp_to_value (GsfTimestamp const *stamp,GValue *value); void gsf_value_set_timestamp (GValue *value,GsfTimestamp const *stamp); #define VAL_IS_GSF_TIMESTAMP (v) int gsf_timestamp_parse (char const *spec,GsfTimestamp *stamp); 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);
void                gsf_init_dynamic                    (GTypeModule *module);
Initializes the GSF library and associates it with a type module mod.
| 
 | GTypeModule. | 
void                gsf_shutdown_dynamic                (GTypeModule *module);
De-intializes the GSF library from a type module. Currently does nothing.
| 
 | currently unused | 
extern int libgsf_major_version;
Major version number of libgsf, indicating the ABI version.
extern int libgsf_minor_version;
Minor (secondary) version number of libgsf, indicating the API version.
extern int libgsf_micro_version;
Micro (tertiary) version number of libgsf, indicating bug fixes.
#define GSF_CLASS(name, prefix, class_init, instance_init, parent)
Set up a GSF class.
| 
 | Name of the class. | 
| 
 | Symbol prefix designating the namespace to be used for implementing the class. | 
| 
 | Initialisation function of type GClassInitFunc for the class. | 
| 
 | Initialisation function of type GInstanceInitFunc for an instance of the class. | 
| 
 | Parent class to this class. | 
#define             GSF_CLASS_FULL(name, prefix, base_init, base_finalize, \
            		       class_init, class_finalize, instance_init, parent_type, \
            		       abstract, interface_decl)
#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_FULL(type, init_func, iface_type, module)
#define GSF_PARAM_STATIC (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
void gsf_mem_dump (guint8 const *ptr,size_t len);
Dump len bytes from the memory location given by ptr.
| 
 | memory area to be dumped. | 
| 
 | how many bytes will be dumped. | 
void gsf_input_dump (GsfInput *input,gboolean dump_as_hex);
Dumps input's contents to STDOUT, optionally in hex format.
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.
| 
 | file name suitable for open(2). | 
| 
 | if TRUE, the resulting utf8 file name will be quoted
(unless it is invalid). | 
| Returns : | filenameusing utf-8 encoding for display | 
void                gsf_iconv_close                     (GIConv handle);
A utility wrapper to safely close an iconv handle.
| 
 | handle to be closed. | 
char const *        gsf_extension_pointer               (char const *path);
Extracts the extension from the end of a filename (the part after the final '.' in the filename).
| 
 | 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. [transfer none] | 
guint8 * gsf_base64_encode_simple (guint8 const *data,size_t len);
Encodes data from data back into data using base64 encoding.
| 
 | data stream | 
| 
 | max length of data to encode | 
| Returns : | the number of bytes encoded | 
size_t gsf_base64_encode_close (guint8 const *in,size_t inlen,gboolean break_lines,guint8 *out,int *state,guint *save);
This funcion should be called to when finished encoding everything, to flush off the last little bit.
| 
 | Data to be encoded | 
| 
 | Length of data to be encoded | 
| 
 | Whether to use line breaks | 
| 
 | Encoded data. | 
| 
 | holds the number of bits that are stored in save | 
| 
 | leftover bits that have not yet been decoded | 
| Returns : | a count of the number of bytes in the final block. | 
size_t gsf_base64_encode_step (guint8 const *in,size_t len,gboolean break_lines,guint8 *out,int *state,guint *save);
Performs an 'encode step', only encodes blocks of 3 characters from in into
the output out at a time, saves left-over state in state and save
(initialise to 0 on first invocation).
| 
 | input stream | 
| 
 | max length of data to decode | 
| 
 | Whether to use line breaks | 
| 
 | output stream | 
| 
 | holds the number of bits that are stored in save | 
| 
 | leftover bits that have not yet been decoded | 
| Returns : | the number of bytes encoded | 
size_t gsf_base64_decode_simple (guint8 *data,size_t len);
Decodes a chunk of base64 encoded data from data back into data.
| 
 | data stream | 
| 
 | max length of data to decode | 
| Returns : | the number of bytes converted | 
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
| 
 | input stream | 
| 
 | max length of data to decode | 
| 
 | output stream | 
| 
 | holds the number of bits that are stored in save | 
| 
 | leftover bits that have not yet been decoded | 
| Returns : | the number of bytes converted | 
#define GSF_LE_GET_GINT8(p) ((gint8)GSF_LE_GET_GUINT8(p))
Interpret binary data as a signed 8-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GUINT64(p) (gsf_le_get_guint64 (p))
Interpret binary data as an unsigned 64-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GINT16(p) ((gint16)GSF_LE_GET_GUINT16(p))
Interpret binary data as a signed 16-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GUINT8(p) (*(guint8 const *)(p))
Interpret binary data as an unsigned 8-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GINT32(p) ((gint32)GSF_LE_GET_GUINT32(p))
Interpret binary data as a signed 32-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GUINT16(p)
Interpret binary data as an unsigned 16-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GUINT32(p)
Interpret binary data as an unsigned 32-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_GINT64(p) ((gint64)GSF_LE_GET_GUINT64(p))
Interpret binary data as a signed 64-bit integer in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
guint64             gsf_le_get_guint64                  (void const *p);
Interpret binary data as a guint64 (8 byte unsigned integer type) in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_FLOAT(p) (gsf_le_get_float (p))
Interpret binary data as a float in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
float               gsf_le_get_float                    (void const *p);
Interpret binary data as a float in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_GET_DOUBLE(p) (gsf_le_get_double (p))
Interpret binary data as a double in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
double              gsf_le_get_double                   (void const *p);
Interpret binary data as a double in little endian order.
| 
 | pointer to storage | 
| Returns : | interpreted data | 
#define GSF_LE_SET_GUINT8(p, dat)
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 8-bit unsigned integer | 
#define GSF_LE_SET_GUINT16(p, dat)
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 16-bit unsigned integer | 
#define GSF_LE_SET_GUINT32(p, dat)
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 32-bit unsigned integer | 
#define GSF_LE_SET_GINT8(p,dat) GSF_LE_SET_GUINT8((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 8-bit signed integer | 
#define GSF_LE_SET_GINT16(p,dat) GSF_LE_SET_GUINT16((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 16-bit signed integer | 
#define GSF_LE_SET_GINT32(p,dat) GSF_LE_SET_GUINT32((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 32-bit signed integer | 
#define GSF_LE_SET_GINT64(p,dat) GSF_LE_SET_GUINT64((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 64-bit signed integer | 
#define GSF_LE_SET_GUINT64(p, dat)
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | 64-bit unsigned integer | 
#define GSF_LE_SET_FLOAT(p,dat) gsf_le_set_float((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | float to be stored | 
#define GSF_LE_SET_DOUBLE(p,dat) gsf_le_set_double((p),(dat))
Store dat in little endian order in memory pointed to by p.
| 
 | pointer to storage | 
| 
 | double to be stored | 
void gsf_le_set_float (void *p,float f);
Store a value of type float in memory in little endian order.
| 
 | pointer to storage | 
| 
 | float to be stored | 
void gsf_le_set_double (void *p,double d);
Store a value of type double in memory in little endian order
| 
 | pointer to storage | 
| 
 | double to be stored | 
#define GSF_OFF_T_FORMAT G_GINT64_FORMAT
The printf(3) conversion specifier to be used for printing values of type gsf_off_t.
typedef gint64 gsf_off_t;
Data type to represent offsets (positions) within a data stream.
FIXME: gsf_off_t is really supposed to be the widest type off_t can be configured to on the platform
typedef struct {
	GDate	  date;			/* In local timezone */
	glong     seconds;		/* time of day */
	GString	  time_zone;		/* possibly blank */
	guint32	  timet;
} GsfTimestamp;
A point in time.
GsfTimestamp *      gsf_timestamp_copy                  (GsfTimestamp const *stamp);
Copies a timestamp.
| 
 | timestamp to be copied | 
| Returns : | a separate copy of stamp. | 
void                gsf_timestamp_free                  (GsfTimestamp *stamp);
Releases the memory in use for stamp (if any).
| 
 | timestamp to be freed | 
char *              gsf_timestamp_as_string             (GsfTimestamp const *stamp);
Produce a string representation (ISO 8601 format) of stamp.
| 
 | timestamp to be converted. | 
| Returns : | a string representation of stamp. WhenstampisNULL, the
representation is "<invalid>". | 
int gsf_timestamp_load_from_string (GsfTimestamp *stamp,char const *spec);
Very simple parser for time stamps. Currently requires a format of 'YYYY-MM-DDThh:mm:ss' and does only rudimentary range checking
| 
 | GsfTimestamp | 
| 
 | The string to parse | 
| Returns : | TRUEon success | 
Since 1.14.24
int gsf_timestamp_from_string (char const *spec,GsfTimestamp *stamp);
gsf_timestamp_from_string is deprecated and should not be used in newly-written code. 1.14.24, use gsf_timestamp_load_from_string
Very simple parser for time stamps. Currently requires a format of 'YYYY-MM-DDThh:mm:ss' and does no bounds checking.
| 
 | The string to parse | 
| 
 | GsfTimestamp | 
| Returns : | TRUEon success | 
gboolean gsf_timestamp_equal (GsfTimestamp const *a,GsfTimestamp const *b);
Compare timestamps a and b.
| 
 | a timestamp | 
| 
 | another timestamp | 
| Returns : | true if aandbrepresent the same point in time; false otherwise. | 
void gsf_timestamp_to_value (GsfTimestamp const *stamp,GValue *value);
Calls g_value_set_box (value, stamp);
| 
 | GsfTimestamp | 
| 
 | GValue | 
Since 1.14.24
void gsf_value_set_timestamp (GValue *value,GsfTimestamp const *stamp);
gsf_value_set_timestamp is deprecated and should not be used in newly-written code. 1.14.24, use gsf_timestamp_to_value.
| 
 | GValue | 
| 
 | GsfTimestamp | 
#define VAL_IS_GSF_TIMESTAMP(v) (G_TYPE_CHECK_VALUE_TYPE((v), GSF_TIMESTAMP_TYPE))
int gsf_timestamp_parse (char const *spec,GsfTimestamp *stamp);
gsf_timestamp_parse is deprecated and should not be used in newly-written code. Use gsf_timestamp_load_from_string
Very simple parser for time stamps. Currently requires a format of 'YYYY-MM-DDThh:mm:ss' and does no bounds checking.
| 
 | The string to parse | 
| 
 | GsfTimestamp | 
| Returns : | TRUEon success | 
GValue * gsf_doc_prop_swap_val (GsfDocProp *prop,GValue *val);
| 
 | GsfDocProp | 
| 
 | GValue. [transfer full] | 
| Returns : | the current value of prop, and replaces
it withval. [transfer full] | 
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);
This function builds a GParameter array suitable for g_object_newv.
| 
 | the GType for which the properties are being set. | 
| 
 | a pointer to the GParameter array that holds the properties.
(Used for both input and output.  This may point to a NULLpointer if
there are no properties collected yet.) | 
| 
 | a pointer to the number of properties collected. (Used for both input and output.) | 
| 
 | the name of the first property being set, or NULL. | 
| 
 | a va_list holding the remainder of the property names and
values, terminated by a NULL. | 
void gsf_property_settings_free (GParameter *params,size_t n_params);