GSF Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy |
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
); 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
);
Details
gsf_init_dynamic ()
void gsf_init_dynamic (GTypeModule *module
);
Initializes the GSF library and associates it with a type module mod
.
|
GTypeModule. |
gsf_shutdown_dynamic ()
void gsf_shutdown_dynamic (GTypeModule *module
);
De-intializes the GSF library from a type module. Currently does nothing.
|
currently unused |
libgsf_major_version
extern int libgsf_major_version;
Major version number of libgsf, indicating the ABI version.
libgsf_minor_version
extern int libgsf_minor_version;
Minor (secondary) version number of libgsf, indicating the API version.
libgsf_micro_version
extern int libgsf_micro_version;
Micro (tertiary) version number of libgsf, indicating bug fixes.
GSF_CLASS()
#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. |
GSF_CLASS_FULL()
#define GSF_CLASS_FULL(name, prefix, base_init, base_finalize, \ class_init, class_finalize, instance_init, parent_type, \ abstract, interface_decl)
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)
GSF_DYNAMIC_CLASS_ABSTRACT()
#define GSF_DYNAMIC_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)
GSF_DYNAMIC_INTERFACE_FULL()
#define GSF_DYNAMIC_INTERFACE_FULL(type, init_func, iface_type, module)
GSF_PARAM_STATIC
#define GSF_PARAM_STATIC (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)
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. |
gsf_mem_dump ()
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. |
gsf_input_dump ()
void gsf_input_dump (GsfInput *input
,gboolean dump_as_hex
);
Dumps input
's contents to STDOUT, optionally in hex format.
|
a GsfInput |
|
If TRUE , dump in hexidecmal format |
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.
|
file name suitable for open(2). |
|
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 to be closed. |
gsf_extension_pointer ()
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] |
gsf_base64_encode_simple ()
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 |
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
);
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. |
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
);
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 |
gsf_base64_decode_simple ()
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 |
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
|
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 |
GSF_LE_GET_GINT8()
#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 |
GSF_LE_GET_GUINT64()
#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 |
GSF_LE_GET_GINT16()
#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 |
GSF_LE_GET_GUINT8()
#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 |
GSF_LE_GET_GINT32()
#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 |
GSF_LE_GET_GUINT16()
#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 |
GSF_LE_GET_GUINT32()
#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 |
GSF_LE_GET_GINT64()
#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 |
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.
|
pointer to storage |
Returns : |
interpreted data |
GSF_LE_GET_FLOAT()
#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 |
gsf_le_get_float ()
float gsf_le_get_float (void const *p
);
Interpret binary data as a float in little endian order.
|
pointer to storage |
Returns : |
interpreted data |
GSF_LE_GET_DOUBLE()
#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 |
gsf_le_get_double ()
double gsf_le_get_double (void const *p
);
Interpret binary data as a double in little endian order.
|
pointer to storage |
Returns : |
interpreted data |
GSF_LE_SET_GUINT8()
#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 |
GSF_LE_SET_GUINT16()
#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 |
GSF_LE_SET_GUINT32()
#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 |
GSF_LE_SET_GINT8()
#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 |
GSF_LE_SET_GINT16()
#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 |
GSF_LE_SET_GINT32()
#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 |
GSF_LE_SET_GINT64()
#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 |
GSF_LE_SET_GUINT64()
#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 |
GSF_LE_SET_FLOAT()
#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 |
GSF_LE_SET_DOUBLE()
#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 |
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.
|
pointer to storage |
|
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
|
pointer to storage |
|
double to be stored |
GSF_OFF_T_FORMAT
#define GSF_OFF_T_FORMAT G_GINT64_FORMAT
The printf(3) conversion specifier to be used for printing values of type gsf_off_t.
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
GsfTimestamp
typedef struct { GDate date; /* In local timezone */ glong seconds; /* time of day */ GString time_zone; /* possibly blank */ guint32 timet; } GsfTimestamp;
A point in time.
gsf_timestamp_copy ()
GsfTimestamp * gsf_timestamp_copy (GsfTimestamp const *stamp
);
Copies a timestamp.
|
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).
|
timestamp to be freed |
gsf_timestamp_as_string ()
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 . When stamp is NULL , the
representation is "<invalid>". |
gsf_timestamp_load_from_string ()
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 : |
TRUE on success |
Since 1.14.24
gsf_timestamp_from_string ()
int gsf_timestamp_from_string (char const *spec
,GsfTimestamp *stamp
);
Warning
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 : |
TRUE on success |
gsf_timestamp_equal ()
gboolean gsf_timestamp_equal (GsfTimestamp const *a
,GsfTimestamp const *b
);
Compare timestamps a
and b
.
|
a timestamp |
|
another timestamp |
Returns : |
true if a and b represent the same point in time; false otherwise. |
gsf_timestamp_to_value ()
void gsf_timestamp_to_value (GsfTimestamp const *stamp
,GValue *value
);
Calls g_value_set_box (value, stamp);
|
GsfTimestamp |
|
GValue |
Since 1.14.24
gsf_value_set_timestamp ()
void gsf_value_set_timestamp (GValue *value
,GsfTimestamp const *stamp
);
Warning
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 |
VAL_IS_GSF_TIMESTAMP()
#define VAL_IS_GSF_TIMESTAMP(v) (G_TYPE_CHECK_VALUE_TYPE((v), GSF_TIMESTAMP_TYPE))
gsf_timestamp_parse ()
int gsf_timestamp_parse (char const *spec
,GsfTimestamp *stamp
);
Warning
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 : |
TRUE on success |
gsf_doc_prop_swap_val ()
GValue * gsf_doc_prop_swap_val (GsfDocProp *prop
,GValue *val
);
|
GsfDocProp |
|
GValue. [transfer full] |
Returns : |
the current value of prop , and replaces
it with val . [transfer full]
|
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
,...
);
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.
|
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 NULL pointer 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 . |