"Initial commit to Gerrit"
[profile/ivi/libgsf.git] / doc / html / gsf-blobs.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GsfBlob</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" href="index.html" title="GSF Reference Manual">
8 <link rel="up" href="parsers.html" title="Stream Parsers">
9 <link rel="prev" href="gsf-OASIS-Open-Document.html" title="OASIS Open Document">
10 <link rel="next" href="gsf-clip-data.html" title="GsfClipData">
11 <meta name="generator" content="GTK-Doc V1.14 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gsf-OASIS-Open-Document.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="parsers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GSF Reference Manual</th>
21 <td><a accesskey="n" href="gsf-clip-data.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gsf-blobs.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gsf-blobs.description" class="shortcut">Description</a>
27 </td></tr>
28 </table>
29 <div class="refentry" title="GsfBlob">
30 <a name="gsf-blobs"></a><div class="titlepage"></div>
31 <div class="refnamediv"><table width="100%"><tr>
32 <td valign="top">
33 <h2><span class="refentrytitle"><a name="gsf-blobs.top_of_page"></a>GsfBlob</span></h2>
34 <p>GsfBlob</p>
35 </td>
36 <td valign="top" align="right"></td>
37 </tr></table></div>
38 <div class="refsynopsisdiv" title="Synopsis">
39 <a name="gsf-blobs.synopsis"></a><h2>Synopsis</h2>
40 <a name="GsfBlob"></a><a name="GsfStructuredBlob"></a><pre class="synopsis">                    <a class="link" href="gsf-blobs.html#GsfBlob-struct" title="GsfBlob">GsfBlob</a>;
41                     <a class="link" href="gsf-blobs.html#GsfBlobClass" title="GsfBlobClass">GsfBlobClass</a>;
42                     <a class="link" href="gsf-blobs.html#GsfStructuredBlob-struct" title="GsfStructuredBlob">GsfStructuredBlob</a>;
43 <a class="link" href="gsf-blobs.html#GsfBlob"><span class="returnvalue">GsfBlob</span></a> *           <a class="link" href="gsf-blobs.html#gsf-blob-new" title="gsf_blob_new ()">gsf_blob_new</a>                        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
44                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> data_to_copy</code></em>,
45                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
46 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               <a class="link" href="gsf-blobs.html#gsf-blob-get-size" title="gsf_blob_get_size ()">gsf_blob_get_size</a>                   (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a> const *blob</code></em>);
47 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a>       <a class="link" href="gsf-blobs.html#gsf-blob-peek-data" title="gsf_blob_peek_data ()">gsf_blob_peek_data</a>                  (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a> const *blob</code></em>);
48 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gsf-blobs.html#gsf-structured-blob-write" title="gsf_structured_blob_write ()">gsf_structured_blob_write</a>           (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="type">GsfStructuredBlob</span></a> *blob</code></em>,
49                                                          <em class="parameter"><code><a class="link" href="gsf-Outfile-writing-structed-files.html#GsfOutfile"><span class="type">GsfOutfile</span></a> *container</code></em>);
50 <a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="returnvalue">GsfStructuredBlob</span></a> * <a class="link" href="gsf-blobs.html#gsf-structured-blob-read" title="gsf_structured_blob_read ()">gsf_structured_blob_read</a>            (<em class="parameter"><code><a class="link" href="gsf-Input-from-unstructured-files.html#GsfInput"><span class="type">GsfInput</span></a> *input</code></em>);
51 </pre>
52 </div>
53 <div class="refsect1" title="Description">
54 <a name="gsf-blobs.description"></a><h2>Description</h2>
55 <p>
56 </p>
57 </div>
58 <div class="refsect1" title="Details">
59 <a name="gsf-blobs.details"></a><h2>Details</h2>
60 <div class="refsect2" title="GsfBlob">
61 <a name="GsfBlob-struct"></a><h3>GsfBlob</h3>
62 <pre class="programlisting">typedef struct _GsfBlob GsfBlob;</pre>
63 <p>
64 </p>
65 </div>
66 <hr>
67 <div class="refsect2" title="GsfBlobClass">
68 <a name="GsfBlobClass"></a><h3>GsfBlobClass</h3>
69 <pre class="programlisting">typedef struct {
70         GObjectClass parent_class;
71 } GsfBlobClass;
72 </pre>
73 <p>
74 </p>
75 </div>
76 <hr>
77 <div class="refsect2" title="GsfStructuredBlob">
78 <a name="GsfStructuredBlob-struct"></a><h3>GsfStructuredBlob</h3>
79 <pre class="programlisting">typedef struct _GsfStructuredBlob GsfStructuredBlob;</pre>
80 <p>
81 </p>
82 </div>
83 <hr>
84 <div class="refsect2" title="gsf_blob_new ()">
85 <a name="gsf-blob-new"></a><h3>gsf_blob_new ()</h3>
86 <pre class="programlisting"><a class="link" href="gsf-blobs.html#GsfBlob"><span class="returnvalue">GsfBlob</span></a> *           gsf_blob_new                        (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> size</code></em>,
87                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> data_to_copy</code></em>,
88                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
89 <p>
90 Creates a new <a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a> object to hold the specified data.  The blob can then
91 be used as a facility for reference-counting for the data.  The data is
92 copied internally, so the blob does not hold references to external chunks
93 of memory.
94 </p>
95 <div class="variablelist"><table border="0">
96 <col align="left" valign="top">
97 <tbody>
98 <tr>
99 <td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
100 <td>Size of the data in bytes.
101 </td>
102 </tr>
103 <tr>
104 <td><p><span class="term"><em class="parameter"><code>data_to_copy</code></em> :</span></p></td>
105 <td>Data which will be copied into the blob, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>size</code></em> is zero.
106 </td>
107 </tr>
108 <tr>
109 <td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
110 <td>location to store error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
111 </td>
112 </tr>
113 <tr>
114 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
115 <td> A newly-created <a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the data could not be copied.
116
117 Error domain: <a class="link" href="gsf-utils.html#GSF-ERROR:CAPS" title="GSF_ERROR"><span class="type">GSF_ERROR</span></a>
118
119 Possible errors: <a class="link" href="gsf-utils.html#GSF-ERROR-OUT-OF-MEMORY:CAPS"><span class="type">GSF_ERROR_OUT_OF_MEMORY</span></a> if the <em class="parameter"><code>data_to_copy</code></em> could not be copied.
120 </td>
121 </tr>
122 </tbody>
123 </table></div>
124 </div>
125 <hr>
126 <div class="refsect2" title="gsf_blob_get_size ()">
127 <a name="gsf-blob-get-size"></a><h3>gsf_blob_get_size ()</h3>
128 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="returnvalue">gsize</span></a>               gsf_blob_get_size                   (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a> const *blob</code></em>);</pre>
129 <p>
130 Queries the size in bytes of the data stored in the blob.
131 </p>
132 <div class="variablelist"><table border="0">
133 <col align="left" valign="top">
134 <tbody>
135 <tr>
136 <td><p><span class="term"><em class="parameter"><code>blob</code></em> :</span></p></td>
137 <td>A <a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a>.
138 </td>
139 </tr>
140 <tr>
141 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
142 <td> Size in bytes, or 0 if the data is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
143 </td>
144 </tr>
145 </tbody>
146 </table></div>
147 </div>
148 <hr>
149 <div class="refsect2" title="gsf_blob_peek_data ()">
150 <a name="gsf-blob-peek-data"></a><h3>gsf_blob_peek_data ()</h3>
151 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="returnvalue">gconstpointer</span></a>       gsf_blob_peek_data                  (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a> const *blob</code></em>);</pre>
152 <p>
153 Queries a pointer to the data stored in the blob.  This does not copy the data
154 for you; it returns a pointer to the actual buffer which the blob uses internally,
155 so you should not free this buffer on your own.
156 </p>
157 <div class="variablelist"><table border="0">
158 <col align="left" valign="top">
159 <tbody>
160 <tr>
161 <td><p><span class="term"><em class="parameter"><code>blob</code></em> :</span></p></td>
162 <td>A <a class="link" href="gsf-blobs.html#GsfBlob"><span class="type">GsfBlob</span></a>.
163 </td>
164 </tr>
165 <tr>
166 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
167 <td> Pointer to the data stored in the blob, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the size
168 of the data is zero.
169 </td>
170 </tr>
171 </tbody>
172 </table></div>
173 </div>
174 <hr>
175 <div class="refsect2" title="gsf_structured_blob_write ()">
176 <a name="gsf-structured-blob-write"></a><h3>gsf_structured_blob_write ()</h3>
177 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gsf_structured_blob_write           (<em class="parameter"><code><a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="type">GsfStructuredBlob</span></a> *blob</code></em>,
178                                                          <em class="parameter"><code><a class="link" href="gsf-Outfile-writing-structed-files.html#GsfOutfile"><span class="type">GsfOutfile</span></a> *container</code></em>);</pre>
179 <p>
180 Dumps structured blob <em class="parameter"><code>blob</code></em> onto the <em class="parameter"><code>container</code></em>.  Will fail if the output is
181 not an Outfile and blob has multiple streams.
182 </p>
183 <div class="variablelist"><table border="0">
184 <col align="left" valign="top">
185 <tbody>
186 <tr>
187 <td><p><span class="term"><em class="parameter"><code>blob</code></em> :</span></p></td>
188 <td>
189 <a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="type">GsfStructuredBlob</span></a>
190 </td>
191 </tr>
192 <tr>
193 <td><p><span class="term"><em class="parameter"><code>container</code></em> :</span></p></td>
194 <td>
195 <a class="link" href="gsf-Outfile-writing-structed-files.html#GsfOutfile"><span class="type">GsfOutfile</span></a>
196 </td>
197 </tr>
198 <tr>
199 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
200 <td> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.
201 </td>
202 </tr>
203 </tbody>
204 </table></div>
205 </div>
206 <hr>
207 <div class="refsect2" title="gsf_structured_blob_read ()">
208 <a name="gsf-structured-blob-read"></a><h3>gsf_structured_blob_read ()</h3>
209 <pre class="programlisting"><a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="returnvalue">GsfStructuredBlob</span></a> * gsf_structured_blob_read            (<em class="parameter"><code><a class="link" href="gsf-Input-from-unstructured-files.html#GsfInput"><span class="type">GsfInput</span></a> *input</code></em>);</pre>
210 <p>
211 Create a tree of binary blobs with unknown content from a <a class="link" href="gsf-Input-from-unstructured-files.html#GsfInput"><span class="type">GsfInput</span></a> or
212 <a class="link" href="gsf-Infile-reading-structed-files.html#GsfInfile"><span class="type">GsfInfile</span></a> and store it in a newly created <a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="type">GsfStructuredBlob</span></a>.
213 </p>
214 <div class="variablelist"><table border="0">
215 <col align="left" valign="top">
216 <tbody>
217 <tr>
218 <td><p><span class="term"><em class="parameter"><code>input</code></em> :</span></p></td>
219 <td>An input (potentially a GsfInfile) holding the blob
220 </td>
221 </tr>
222 <tr>
223 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
224 <td> a new <a class="link" href="gsf-blobs.html#GsfStructuredBlob"><span class="type">GsfStructuredBlob</span></a> object which the caller is responsible for.
225 </td>
226 </tr>
227 </tbody>
228 </table></div>
229 </div>
230 </div>
231 </div>
232 <div class="footer">
233 <hr>
234           Generated by GTK-Doc V1.14</div>
235 </body>
236 </html>