![]() |
![]() |
![]() |
libinftext-0.3 Reference Manual | ![]() |
---|---|---|---|---|
InfTextChunk; InfTextChunkIter; InfTextChunk* inf_text_chunk_new (const gchar *encoding); InfTextChunk* inf_text_chunk_copy (InfTextChunk *self); void inf_text_chunk_free (InfTextChunk *self); const gchar* inf_text_chunk_get_encoding (InfTextChunk *self); guint inf_text_chunk_get_length (InfTextChunk *self); InfTextChunk* inf_text_chunk_substring (InfTextChunk *self, guint begin, guint length); void inf_text_chunk_insert_text (InfTextChunk *self, guint offset, gconstpointer text, gsize bytes, guint length, guint author); void inf_text_chunk_insert_chunk (InfTextChunk *self, guint offset, InfTextChunk *text); void inf_text_chunk_erase (InfTextChunk *self, guint begin, guint length); gpointer inf_text_chunk_get_text (InfTextChunk *self, gsize *length); gboolean inf_text_chunk_equal (InfTextChunk *self, InfTextChunk *other); void inf_text_chunk_to_xml (InfTextChunk *self, xmlNodePtr xml); InfTextChunk* inf_text_chunk_from_xml (xmlNodePtr xml, const gchar *encoding, GError **error); gboolean inf_text_chunk_iter_init (InfTextChunk *self, InfTextChunkIter *iter); gboolean inf_text_chunk_iter_next (InfTextChunkIter *iter); gboolean inf_text_chunk_iter_prev (InfTextChunkIter *iter); gconstpointer inf_text_chunk_iter_get_text (InfTextChunkIter *iter); guint inf_text_chunk_iter_get_length (InfTextChunkIter *iter); gsize inf_text_chunk_iter_get_bytes (InfTextChunkIter *iter); guint inf_text_chunk_iter_get_author (InfTextChunkIter *iter);
typedef struct { InfTextChunk* chunk; GSequenceIter* first; GSequenceIter* second; } InfTextChunkIter;
InfTextChunk* inf_text_chunk_new (const gchar *encoding);
Creates a new InfTextChunk with no initial content that holds text
in the given encoding. TODO: Allow binary data with NULL
encoding.
|
A content encoding, such as "UTF-8" or "LATIN1". |
Returns : |
A new InfTextChunk. |
InfTextChunk* inf_text_chunk_copy (InfTextChunk *self);
Returns a copy of self
.
|
A InfTextChunk. |
Returns : |
A new InfTextChunk. |
void inf_text_chunk_free (InfTextChunk *self);
Frees a InfTextChunk allocated with inf_text_chunk_new()
,
inf_text_chunk_copy()
or inf_text_chunk_substring()
.
|
A InfTextChunk. |
const gchar* inf_text_chunk_get_encoding (InfTextChunk *self);
Returns the character encoding in which the content of self
is encoded.
|
A InfTextChunk. |
Returns : |
The encoding of self .
|
guint inf_text_chunk_get_length (InfTextChunk *self);
Returns the number of characters contained in self
.
|
A InfTextChunk. |
Returns : |
The number of characters of self .
|
InfTextChunk* inf_text_chunk_substring (InfTextChunk *self, guint begin, guint length);
Returns a new InfTextChunk containing a substring of self
, beginning
at character offset begin
and length
characters long.
|
A InfTextChunk. |
|
A character offset into self .
|
|
The length of the text to extract. |
Returns : |
A new InfTextChunk. |
void inf_text_chunk_insert_text (InfTextChunk *self, guint offset, gconstpointer text, gsize bytes, guint length, guint author);
Inserts text written by author
into self
. text
is expected to be in
the chunk's encoding.
|
A InfTextChunk. |
|
Character offset at which to insert text |
|
Text to insert. |
|
Number of bytes of text .
|
|
Number of characters contained in text .
|
|
User that wrote text .
|
void inf_text_chunk_insert_chunk (InfTextChunk *self, guint offset, InfTextChunk *text);
Inserts text
into self
at position offset
. text
and self
must
have the same encoding.
|
A InfTextChunk. |
|
Character offset at which to insert text. |
|
Chunk to insert into self .
|
void inf_text_chunk_erase (InfTextChunk *self, guint begin, guint length);
Removes length
characters of self
, starting from character offset begin
.
|
A InfTextChunk. |
|
A character offset into self .
|
|
Number of characters to erase. |
gpointer inf_text_chunk_get_text (InfTextChunk *self, gsize *length);
Returns the content of self
as an array. The text is encoded in
self
's encoding. length
is set to the number of bytes in the returned
buffer, if non-NULL
. The result is _not_ zero-terminated.
|
A InfTextChunk. |
|
Location to write the number of bytes to, or NULL .
|
Returns : |
Content of self . Free with g_free() if no longer in use.
|
gboolean inf_text_chunk_equal (InfTextChunk *self, InfTextChunk *other);
Returns whether the two text chunks contain the same text and the same segments were written by the same authors.
|
A InfTextChunk. |
|
Another InfTextChunk. |
Returns : |
Whether the two chunks are equal. |
void inf_text_chunk_to_xml (InfTextChunk *self, xmlNodePtr xml);
Serializes self
into an XML node. This adds <author> child nodes to
xml
, with text written by the respective author as content.
|
A InfTextChunk. |
|
XML node to write into. |
InfTextChunk* inf_text_chunk_from_xml (xmlNodePtr xml, const gchar *encoding, GError **error);
Converts a XML node created by inf_text_chunk_to_xml()
back to a
InfTextChunk. The created InfTextChunk will have the given encoding.
|
A XML node. |
|
Character encoding for the new text chunk. |
|
Location to store error information, or NULL .
|
Returns : |
A InfTextChunk, or NULL if an error occured.
|
gboolean inf_text_chunk_iter_init (InfTextChunk *self, InfTextChunkIter *iter);
Sets iter
to point to the first segment of self
. If there are no
segments (i.e. self
is empty), iter
is left untouched and the function
returns FALSE
.
|
A InfTextChunk. |
|
A InfTextChunkIter. |
Returns : |
Whether iter was set.
|
gboolean inf_text_chunk_iter_next (InfTextChunkIter *iter);
Sets iter
to point to the next segment. If iter
already points to the
last segment, the function returns FALSE
.
|
An initialized InfTextChunkIter. |
Returns : |
Whether iter was set.
|
gboolean inf_text_chunk_iter_prev (InfTextChunkIter *iter);
Sets iter
to point to the previous segment. If iter
already points to
the first segment, the function returns FALSE
.
|
An initialized InfTextChunkIter. |
Returns : |
Whether iter has changed.
|
gconstpointer inf_text_chunk_iter_get_text (InfTextChunkIter *iter);
Returns the text of the segment iter
points to. The text is in the
underlaying InfTextChunk's encoding.
|
An initialized InfTextChunkIter. |
Returns : |
The text of the segment iter points to.
|
guint inf_text_chunk_iter_get_length (InfTextChunkIter *iter);
Returns the number of characters in the segment iter
points to.
|
An initialized InfTextChunkIter. |
Returns : |
The number of characters in the segment iter points to.
|
gsize inf_text_chunk_iter_get_bytes (InfTextChunkIter *iter);
Returns the number of bytes in the segment iter
points to.
|
An initialized InfTextChunkIter. |
Returns : |
The number of bytes in the segment iter points to.
|
guint inf_text_chunk_iter_get_author (InfTextChunkIter *iter);
Returns the user ID of the author of the segment iter
points to.
|
An initialized InfTextChunkIter. |
Returns : |
The user ID of the author of the segment iter points to.
|