![]() |
![]() |
![]() |
GSF Reference Manual | ![]() |
---|---|---|---|---|
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);
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).
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).
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).
#define GSF_CLASS(name, prefix, class_init, instance_init, parent)
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)
name : |
|
prefix : |
|
base_init : |
|
base_finalize : |
@\ class_init: @\ class_init: @\ class_init: |
class_finalize : |
|
instance_init : |
|
parent_type : |
@\ abstract: @\ abstract: @\ abstract: |
interface_decl : |
#define GSF_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)
name : |
|
prefix : |
|
class_init : |
|
instance_init : |
|
parent : |
#define GSF_INTERFACE_FULL(type, init_func, iface_type)
type : |
|
init_func : |
|
iface_type : |
#define GSF_DYNAMIC_CLASS(name, prefix, class_init, instance_init, parent)
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)
name : |
|
prefix : |
|
base_init : |
|
base_finalize : |
@\ class_init: @\ class_init: @\ class_init: |
class_finalize : |
|
instance_init : |
|
parent_type : |
@\ abstract: @\ abstract: @\ abstract: |
interface_decl : |
#define GSF_DYNAMIC_CLASS_ABSTRACT(name, prefix, class_init, instance_init, parent)
name : |
|
prefix : |
|
class_init : |
|
instance_init : |
|
parent : |
#define GSF_DYNAMIC_INTERFACE(init_func, iface_type, module)
init_func : |
|
iface_type : |
|
module : |
#define GSF_DYNAMIC_INTERFACE_FULL(type, init_func, iface_type, module)
type : |
|
init_func : |
|
iface_type : |
|
module : |
#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.
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. |
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. |
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. |
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 |
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
|
void gsf_iconv_close (GIConv handle);
A utility wrapper to safely close an iconv handle.
handle : |
handle to be closed. |
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. |
guint8* gsf_base64_encode_simple (guint8 const *data, size_t len);
data : |
|
len : |
|
Returns : |
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 : |
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 : |
size_t gsf_base64_decode_simple (guint8 *data, size_t len);
data : |
|
len : |
|
Returns : |
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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#define GSF_LE_GET_GUINT16(p)
Interpret data as a 16 bit unsigned integer value in little endian order.
p : |
Pointer to storage |
#define GSF_LE_GET_GUINT32(p)
Interpret data as a 32 bit unsigned integer value in little endian order.
p : |
Pointer to storage |
#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 |
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 |
#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 |
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 |
#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 |
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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
#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 |
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 |
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 |
typedef struct { GDate date; /* In local timezone */ glong seconds; /* time of day */ GString time_zone; /* possibly blank */ guint32 timet; } GsfTimestamp;
GsfTimestamp* gsf_timestamp_copy (GsfTimestamp const *stamp);
Copies a timestamp.
stamp : |
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).
stamp : |
timestamp to be freed |
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>".
|
int gsf_timestamp_parse (char const *spec, GsfTimestamp *stamp);
spec : |
|
stamp : |
|
Returns : |
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.
|
void gsf_value_set_timestamp (GValue *value, GsfTimestamp const *stamp);
value : |
|
stamp : |
#define VAL_IS_GSF_TIMESTAMP(v) (G_TYPE_CHECK_VALUE_TYPE((v), GSF_TIMESTAMP_TYPE))
v : |
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.
|
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 : |
|
... : |
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. |