Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GDataDocumentsUploadQuery: GData Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GData Reference Manual">
<link rel="up" href="ch16.html" title="Google Documents/Drive API">
<link rel="prev" href="GDataDocumentsQuery.html" title="GDataDocumentsQuery">
<link rel="next" href="GDataDocumentsEntry.html" title="GDataDocumentsEntry">
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GDataDocumentsUploadQuery.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GDataDocumentsUploadQuery.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GDataDocumentsUploadQuery.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch16.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GDataDocumentsQuery.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GDataDocumentsEntry.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GDataDocumentsUploadQuery"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GDataDocumentsUploadQuery.top_of_page"></a>GDataDocumentsUploadQuery</span></h2>
<p>GDataDocumentsUploadQuery — GData Documents upload query object</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="returnvalue">GDataDocumentsUploadQuery</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-new" title="gdata_documents_upload_query_new ()">gdata_documents_upload_query_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-build-uri" title="gdata_documents_upload_query_build_uri ()">gdata_documents_upload_query_build_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder"><span class="returnvalue">GDataDocumentsFolder</span></a> *
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-get-folder" title="gdata_documents_upload_query_get_folder ()">gdata_documents_upload_query_get_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-set-folder" title="gdata_documents_upload_query_set_folder ()">gdata_documents_upload_query_set_folder</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-get-convert" title="gdata_documents_upload_query_get_convert ()">gdata_documents_upload_query_get_convert</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-set-convert" title="gdata_documents_upload_query_set_convert ()">gdata_documents_upload_query_set_convert</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--convert" title="The “convert” property">convert</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder"><span class="type">GDataDocumentsFolder</span></a> *</td>
<td class="property_name"><a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--folder" title="The “folder” property">folder</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery-struct" title="GDataDocumentsUploadQuery">GDataDocumentsUploadQuery</a></td>
</tr>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQueryClass" title="GDataDocumentsUploadQueryClass">GDataDocumentsUploadQueryClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="../gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> GDataDocumentsUploadQuery
</pre>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gdata/services/documents/gdata-documents-upload-query.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.description"></a><h2>Description</h2>
<p><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> is a collection of parameters for document uploads to Google Documents, allowing various options to be set when uploading
a document for the first time. For example, the destination folder for the uploaded document may be specified; or whether to automatically convert
the document to a common format.</p>
<p><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> is designed as an object (rather than a fixed struct or set of function arguments) to allow for easy additions of new
Google Documents features in the future.</p>
<div class="example">
<a name="id-1.5.5.5.9.4"></a><p class="title"><b>Example 31. Uploading an Arbitrary File from Disk</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="usertype">GDataDocumentsService</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">service</span><span class="symbol">;</span>
<span class="usertype">GDataDocumentsDocument</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">document</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">uploaded_document</span><span class="symbol">;</span>
<span class="usertype">GFile</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">arbitrary_file</span><span class="symbol">;</span>
<span class="usertype">GFileInfo</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">file_info</span><span class="symbol">;</span>
<span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">slug</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">content_type</span><span class="symbol">;</span>
<span class="usertype">goffset</span><span class="normal"> file_size</span><span class="symbol">;</span>
<span class="usertype">GDataDocumentsUploadQuery</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">upload_query</span><span class="symbol">;</span>
<span class="usertype">GFileInputStream</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">file_stream</span><span class="symbol">;</span>
<span class="usertype">GDataUploadStream</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">upload_stream</span><span class="symbol">;</span>
<span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error </span><span class="symbol">=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">;</span>

<span class="comment">/* Create a service. */</span>
<span class="normal">service </span><span class="symbol">=</span><span class="normal"> </span><span class="function">create_documents_service</span><span class="normal"> </span><span class="symbol">();</span>

<span class="comment">/* Get the file to upload. */</span>
<span class="normal">arbitrary_file </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_new_for_path</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"arbitrary-file.bin"</span><span class="symbol">);</span>

<span class="comment">/* Get the file's display name, content type and size. */</span>
<span class="normal">file_info </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_query_info</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">arbitrary_file</span><span class="symbol">,</span><span class="normal"> G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME </span><span class="string">","</span><span class="normal"> G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE </span><span class="string">","</span>
<span class="normal">                               G_FILE_ATTRIBUTE_STANDARD_SIZE</span><span class="symbol">,</span><span class="normal"> G_FILE_QUERY_INFO_NONE</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error getting arbitrary file information: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">arbitrary_file</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="normal">slug </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_info_get_display_name</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_info</span><span class="symbol">);</span>
<span class="normal">content_type </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_info_get_content_type</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_info</span><span class="symbol">);</span>
<span class="normal">file_size </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_info_get_size</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_info</span><span class="symbol">);</span>

<span class="comment">/* Get an input stream for the file. */</span>
<span class="normal">file_stream </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_file_read</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">arbitrary_file</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">arbitrary_file</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error getting arbitrary file stream: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_info</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="comment">/* Create the file metadata to upload. */</span>
<span class="normal">document </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataDocumentsDocument.html#gdata-documents-document-new">gdata_documents_document_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
<span class="function"><a href="GDataEntry.html#gdata-entry-set-title">gdata_entry_set_title</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GDATA_ENTRY</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">document</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"Title for My Arbitrary File"</span><span class="symbol">);</span>

<span class="comment">/* Build the upload query and set the upload to not be converted to a standard format. */</span>
<span class="normal">upload_query </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-new">gdata_documents_upload_query_new</a></span><span class="normal"> </span><span class="symbol">();</span>
<span class="function"><a href="GDataDocumentsUploadQuery.html#gdata-documents-upload-query-set-convert">gdata_documents_upload_query_set_convert</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">upload_query</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">);</span>

<span class="comment">/* Get an upload stream for the file. */</span>
<span class="normal">upload_stream </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataDocumentsService.html#gdata-documents-service-upload-document-resumable">gdata_documents_service_upload_document_resumable</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">,</span><span class="normal"> document</span><span class="symbol">,</span><span class="normal"> slug</span><span class="symbol">,</span><span class="normal"> content_type</span><span class="symbol">,</span><span class="normal"> file_size</span><span class="symbol">,</span><span class="normal"> upload_query</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">upload_query</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">document</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_info</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error getting upload stream: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_stream</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="comment">/* Upload the document. This is a blocking operation, and should normally be done asynchronously. */</span>
<span class="function">g_output_stream_splice</span><span class="normal"> </span><span class="symbol">(</span><span class="function">G_OUTPUT_STREAM</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">upload_stream</span><span class="symbol">),</span><span class="normal"> </span><span class="function">G_INPUT_STREAM</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_stream</span><span class="symbol">),</span>
<span class="normal">                        G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE </span><span class="symbol">|</span><span class="normal"> G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET</span><span class="symbol">,</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_stream</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error splicing streams: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">upload_stream</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="comment">/* Finish off the upload by parsing the returned updated document metadata entry. */</span>
<span class="normal">uploaded_document </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GDataDocumentsService.html#gdata-documents-service-finish-upload">gdata_documents_service_finish_upload</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">,</span><span class="normal"> upload_stream</span><span class="symbol">,</span><span class="normal"> </span><span class="symbol">&amp;</span><span class="normal">error</span><span class="symbol">);</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">upload_stream</span><span class="symbol">);</span>
<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">service</span><span class="symbol">);</span>

<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error </span><span class="symbol">!=</span><span class="normal"> <a href="../glib/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Error uploading file: %s"</span><span class="symbol">,</span><span class="normal"> error</span><span class="symbol">-&gt;</span><span class="normal">message</span><span class="symbol">);</span>
<span class="normal">    </span><span class="function"><a href="../glib/glib-Error-Reporting.html#g-error-free">g_error_free</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="symbol">;</span>
<span class="cbracket">}</span>

<span class="comment">/* Do something with the uploaded document. */</span>

<span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">uploaded_document</span><span class="symbol">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break">
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gdata-documents-upload-query-new"></a><h3>gdata_documents_upload_query_new ()</h3>
<pre class="programlisting"><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="returnvalue">GDataDocumentsUploadQuery</span></a> *
gdata_documents_upload_query_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Constructs a new empty <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a>.</p>
<div class="refsect3">
<a name="gdata-documents-upload-query-new.returns"></a><h4>Returns</h4>
<p>a new <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a>; unref with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-documents-upload-query-build-uri"></a><h3>gdata_documents_upload_query_build_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gdata_documents_upload_query_build_uri
                               (<em class="parameter"><code><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> *self</code></em>);</pre>
<p>Builds an upload URI suitable for passing to <a class="link" href="GDataUploadStream.html#gdata-upload-stream-new-resumable" title="gdata_upload_stream_new_resumable ()"><code class="function">gdata_upload_stream_new_resumable()</code></a> in order to upload a document to Google Documents as described in
the</p>
<a class="ulink" href="https://developers.google.com/google-apps/documents-list/#uploading_a_new_document_or_file_with_both_metadata_and_content" target="_top">
online documentation</a>.
<div class="refsect3">
<a name="gdata-documents-upload-query-build-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-documents-upload-query-build-uri.returns"></a><h4>Returns</h4>
<p>a complete upload URI; free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-documents-upload-query-get-folder"></a><h3>gdata_documents_upload_query_get_folder ()</h3>
<pre class="programlisting"><a class="link" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder"><span class="returnvalue">GDataDocumentsFolder</span></a> *
gdata_documents_upload_query_get_folder
                               (<em class="parameter"><code><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> *self</code></em>);</pre>
<p>Gets <a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--folder" title="The “folder” property"><span class="type">“folder”</span></a>.</p>
<div class="refsect3">
<a name="gdata-documents-upload-query-get-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-documents-upload-query-get-folder.returns"></a><h4>Returns</h4>
<p>the folder to upload into, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-documents-upload-query-set-folder"></a><h3>gdata_documents_upload_query_set_folder ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_documents_upload_query_set_folder
                               (<em class="parameter"><code><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> *self</code></em>,
                                <em class="parameter"><code><a class="link" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder"><span class="type">GDataDocumentsFolder</span></a> *folder</code></em>);</pre>
<p>Sets <a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--folder" title="The “folder” property"><span class="type">“folder”</span></a> to <em class="parameter"><code>folder</code></em>
.</p>
<div class="refsect3">
<a name="gdata-documents-upload-query-set-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>folder</p></td>
<td class="parameter_description"><p>a new folder to upload into, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-documents-upload-query-get-convert"></a><h3>gdata_documents_upload_query_get_convert ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gdata_documents_upload_query_get_convert
                               (<em class="parameter"><code><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> *self</code></em>);</pre>
<p>Gets <a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--convert" title="The “convert” property"><span class="type">“convert”</span></a>.</p>
<div class="refsect3">
<a name="gdata-documents-upload-query-get-convert.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdata-documents-upload-query-get-convert.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to convert documents to common formats, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to upload them unmodified</p>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gdata-documents-upload-query-set-convert"></a><h3>gdata_documents_upload_query_set_convert ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdata_documents_upload_query_set_convert
                               (<em class="parameter"><code><a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> *self</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> convert</code></em>);</pre>
<p>Sets <a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQuery--convert" title="The “convert” property"><span class="type">“convert”</span></a> to <em class="parameter"><code>convert</code></em>
.</p>
<div class="refsect3">
<a name="gdata-documents-upload-query-set-convert.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>self</p></td>
<td class="parameter_description"><p>a <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>convert</p></td>
<td class="parameter_description"><p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to convert documents to common formats, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to upload them unmodified</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GDataDocumentsUploadQuery-struct"></a><h3>GDataDocumentsUploadQuery</h3>
<pre class="programlisting">typedef struct _GDataDocumentsUploadQuery GDataDocumentsUploadQuery;</pre>
<p>All the fields in the <a class="link" href="GDataDocumentsUploadQuery.html" title="GDataDocumentsUploadQuery"><span class="type">GDataDocumentsUploadQuery</span></a> structure are private and should never be accessed directly.</p>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GDataDocumentsUploadQueryClass"></a><h3>GDataDocumentsUploadQueryClass</h3>
<pre class="programlisting">typedef struct {
} GDataDocumentsUploadQueryClass;
</pre>
<p>All the fields in the <a class="link" href="GDataDocumentsUploadQuery.html#GDataDocumentsUploadQueryClass" title="GDataDocumentsUploadQueryClass"><span class="type">GDataDocumentsUploadQueryClass</span></a> structure are private and should never be accessed directly.</p>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
</div>
<div class="refsect1">
<a name="GDataDocumentsUploadQuery.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GDataDocumentsUploadQuery--convert"></a><h3>The <code class="literal">“convert”</code> property</h3>
<pre class="programlisting">  “convert”                  <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to automatically convert the uploaded document into a standard format (such as a text document, spreadsheet, presentation, etc.).
<a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to upload the document without converting it; this allows for arbitrary files to be uploaded to Google Documents.</p>
<p>For more information, see the</p>
<a class="ulink" href="https://developers.google.com/google-apps/documents-list/#creating_or_uploading_files" target="_top">online documentation</a>.
<p>Note that uploading with this property set to <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will only have an effect when using <a class="link" href="GDataDocumentsService.html#gdata-documents-service-update-document-resumable" title="gdata_documents_service_update_document_resumable ()"><code class="function">gdata_documents_service_update_document_resumable()</code></a>
and not <a class="link" href="GDataDocumentsService.html#gdata-documents-service-update-document" title="gdata_documents_service_update_document ()"><code class="function">gdata_documents_service_update_document()</code></a>. Additionally, the <a class="link" href="GDataDocumentsDocument.html" title="GDataDocumentsDocument"><span class="type">GDataDocumentsDocument</span></a> passed to
<a class="link" href="GDataDocumentsService.html#gdata-documents-service-update-document-resumable" title="gdata_documents_service_update_document_resumable ()"><code class="function">gdata_documents_service_update_document_resumable()</code></a> must be a <a class="link" href="GDataDocumentsDocument.html" title="GDataDocumentsDocument"><span class="type">GDataDocumentsDocument</span></a> if this property is <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, and a subclass of it
otherwise.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GDataDocumentsUploadQuery--folder"></a><h3>The <code class="literal">“folder”</code> property</h3>
<pre class="programlisting">  “folder”                   <a class="link" href="GDataDocumentsFolder.html" title="GDataDocumentsFolder"><span class="type">GDataDocumentsFolder</span></a> *</pre>
<p>Folder to upload the document into. If this is <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the document will be uploaded into the root folder.</p>
<p>Flags: Read / Write</p>
<p class="since">Since: <a class="link" href="ix15.html#api-index-0.13.0">0.13.0</a></p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.26.1</div>
</body>
</html>