Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > by-pkgid > 03dba9756e43ac2594de02e80fbfa250 > files > 108

libgnomevfsmm1.3_6-devel-1.3.5-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libgnomevfsmm: mime-handlers.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.3 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a></div>
<h1>mime-handlers.h</h1><a href="mime-handlers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/* Copyright 2003 gnome-vfsmm Development Team</span>
00002 <span class="comment"> *</span>
00003 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
00004 <span class="comment"> * modify it under the terms of the GNU Library General Public</span>
00005 <span class="comment"> * License as published by the Free Software Foundation; either</span>
00006 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span>
00007 <span class="comment"> *</span>
00008 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
00009 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
00010 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
00011 <span class="comment"> * Library General Public License for more details.</span>
00012 <span class="comment"> *</span>
00013 <span class="comment"> * You should have received a copy of the GNU Library General Public</span>
00014 <span class="comment"> * License along with this library; if not, write to the Free</span>
00015 <span class="comment"> * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
00016 <span class="comment"> */</span>
00017 
00018 
00019 <span class="preprocessor">#ifndef _LIBGNOMEVFSMM_MIME_HANDLERS_H</span>
00020 <span class="preprocessor"></span><span class="preprocessor">#define _LIBGNOMEVFSMM_MIME_HANDLERS_H</span>
00021 <span class="preprocessor"></span>
00022 <span class="preprocessor">#include &lt;glibmm.h&gt;</span>
00023 
00024 <span class="preprocessor">#include &lt;<a class="code" href="enums_8h.html">libgnomevfsmm/enums.h</a>&gt;</span>
00025 <span class="preprocessor">#include &lt;<a class="code" href="exception_8h.html">libgnomevfsmm/exception.h</a>&gt;</span>
00026 <span class="preprocessor">#include &lt;<a class="code" href="mime-application_8h.html">libgnomevfsmm/mime-application.h</a>&gt;</span>
00027 <span class="preprocessor">#include &lt;<a class="code" href="mime-action_8h.html">libgnomevfsmm/mime-action.h</a>&gt;</span>
00028 
00029 <span class="keyword">namespace </span>Gnome
00030 {
00031 
00032 <span class="keyword">namespace </span>Vfs
00033 {
00034 
00035 <span class="comment">//TODO: Explain when/how someone might use this stuff.</span>
00036 <span class="comment">//TODO: Consider renaming this to MimeDatabase or something similar. Murray.</span>
00037 <span class="comment">//e.g. Direct people to</span>
00038 <span class="comment">//- get_registered_types() to discover all MIME types.</span>
00039 <span class="comment">//- get_description() to get a human-readable description of a MIME type.</span>
00040 <span class="comment">//- get_all_applications() to get a list of applications that can handle the MIME type.</span>
00041 <span class="comment">//TODO: Tell them how to get the MIME type for a file.</span>
<a name="l00042"></a><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html">00042</a> <span class="keyword">namespace </span>Mime
00043 {
00044 
<a name="l00045"></a><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a0">00045</a> <span class="keyword">typedef</span> Glib::ListHandle&lt;Gnome::Vfs::MimeApplication*&gt; <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a0">ListHandleApps</a>;
00046 <span class="comment">// TODO: once Bonobo_ServerInfo is wrapped, I can change this to the C++ equivalent...</span>
<a name="l00047"></a><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a1">00047</a> <span class="keyword">typedef</span> GList* <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a1">ListHandleComps</a>;
<a name="l00048"></a><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a2">00048</a> <span class="keyword">typedef</span> Glib::ListHandle&lt;Glib::ustring&gt; <a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a>;
00049 
00050 <span class="comment">/*</span>
00051 <span class="comment"> * Accessor functions</span>
00052 <span class="comment"> */</span>
00053 
00054 <span class="comment">//TODO: The result is either APPLICATION or COMPONENT. These don't sound like actions,</span>
00055 <span class="comment">//      so my explanation seems necessary. Murray.</span>
00060 <span class="comment"></span><a class="code" href="group__libgnomevfsmmEnums.html#a69">MimeActionType</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a3">get_default_action_type</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00061 
00066 <a class="code" href="classGnome_1_1Vfs_1_1MimeApplication.html">MimeApplication</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a4">get_default_application</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00067 
00072 GnomeVFSMimeAction* <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a5">get_default_action</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00073 
00074 <span class="comment">// TODO: Figure out how the heck to wrap this Bonobo_ServerInfo thingy...</span>
00075 Bonobo_ServerInfo* <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a6">get_default_component</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00076 
00077 <span class="comment">//TODO: What determines whether an application is in the short list or the all list? Murray.</span>
00078 <span class="comment">//TODO: This is a list of pointers. Who deletes them? Murray</span>
00083 <span class="comment"></span><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a0">ListHandleApps</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a7">get_short_list_applications</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00084 
00085 <span class="comment">//TODO: This is a list of pointers. Who deletes them? Murray.</span>
00090 <span class="comment"></span><a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a0">ListHandleApps</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a8">get_all_applications</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00091 
00096 <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a1">ListHandleComps</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a9">get_short_list_components</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00097 
00102 <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a1">ListHandleComps</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a10">get_all_components</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00103 
00104 <span class="comment">//TODO: If this is just a convenience function, then we should say so. Murray.</span>
00110 <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a11">id_in_application_list</a>(<span class="keyword">const</span> Glib::ustring&amp; id, <span class="keyword">const</span> ListHandleApps&amp; applications);
00111 
00112 <span class="comment">//TODO: If this is just a convenience function, then we should say so. Murray.</span>
00117 <span class="comment"></span><a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a12">id_list_from_application_list</a>(<span class="keyword">const</span> ListHandleApps&amp; applications);
00118 
00119 <span class="comment">//TODO: If this is just a convenience function, then we should say so. Murray.</span>
00125 <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a13">id_in_component_list</a>(<span class="keyword">const</span> Glib::ustring&amp; iid, ListHandleComps components);
00126 
00127 <span class="comment">//TODO: If this is just a convenience function, then we should say so. Murray.</span>
00132 <span class="comment"></span><a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a14">id_list_from_component_list</a>(ListHandleComps components);
00133 
00142 Glib::ustring <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a15">get_icon</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00143 
00148 Glib::ustring <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a16">get_description</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00149 
00155 <span class="keywordtype">bool</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a17">can_be_executable</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00156 
00161 <span class="keywordtype">bool</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a18">type_is_known</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00162 
00167 <a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a19">get_extensions_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00168 
00174 Glib::ustring <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a20">get_extensions_string</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keywordtype">bool</span> pretty = <span class="keyword">false</span>);
00175 
00179 <a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a21">get_registered_types</a>();
00180 
00181 <span class="comment">//TODO: What happens if the key is invalid? Murray.</span>
00182 <span class="comment">//TODO: What is a key? Murray.</span>
00183 <span class="comment">//TODO: What is a GnomeMimeContext? Murray.</span>
00184 <span class="comment">//TODO: What data does this return? Murray.</span>
00190 <span class="comment"></span>Glib::ustring <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a22">get_value</a>(Glib::ustring&amp; mime_type, Glib::ustring&amp; key);
00191 
00196 <a class="code" href="namespaceGnome_1_1Vfs_1_1ApplicationRegistry.html#a0">ListHandleStrings</a> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a23">get_key_list</a>(Glib::ustring&amp; mime_type);
00197 
00198 <span class="comment">/*</span>
00199 <span class="comment"> * Mutator functions</span>
00200 <span class="comment"> * TODO: "Mutator" means nothing to me in this context. Murray.</span>
00201 <span class="comment"> */</span>
00202 
00207 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a24">set_default_action_type</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, MimeActionType action_type) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00208 
00213 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a25">set_default_application</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; application_id) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00214 
00219 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a26">set_default_component</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; iid) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00220 
00228 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a27">set_icon</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; filename) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00229 
00235 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a28">set_description</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; description) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00236 
00241 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a29">set_can_be_executable</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keywordtype">bool</span> new_value) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00242 
00248 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a30">set_short_list_applications</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, ListHandleStrings&amp; application_ids) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00249 
00255 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a31">set_short_list_components</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, ListHandleStrings&amp; component_iids) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00256 
00262 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a32">add_application_to_short_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; application_id) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00263 
00269 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a33">remove_application_from_short_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; application_id) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00270 
00276 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a34">add_component_to_short_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; component_iid) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00277 
00283 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a35">remove_component_from_short_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; component_iid) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00284 
00289 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a36">add_extension</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; extension) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00290 
00295 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a37">remove_extension</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, Glib::ustring&amp; extension) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00296 
00302 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a38">set_extensions_list</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; extensions_list) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00303 
00308 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a39">extend_all_applications</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, ListHandleStrings&amp; application_ids) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00309 
00314 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a40">remove_from_all_applications</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, ListHandleStrings&amp; application_ids) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00315 
00320 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a41">registered_mime_type_delete</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type);
00321 
00327 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a42">set_registered_type_key</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; key, <span class="keyword">const</span> Glib::ustring&amp; data) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00328 
00335 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a43">set_value</a>(<span class="keyword">const</span> Glib::ustring&amp; mime_type, <span class="keyword">const</span> Glib::ustring&amp; key, <span class="keyword">const</span> Glib::ustring&amp; value) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>);
00336 
00337 <span class="comment">/*</span>
00338 <span class="comment"> * Mime Control</span>
00339 <span class="comment"> */</span>
00340 
00345 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a44">freeze</a>();
00346 
00349 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a45">thaw</a>();
00350 
00354 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a46">info_reload</a>();
00355 
00358 <span class="keywordtype">void</span> <a class="code" href="namespaceGnome_1_1Vfs_1_1Mime.html#a47">reset</a>();
00359 
00360 } <span class="comment">// namespace Mime</span>
00361 } <span class="comment">// namespace Vfs</span>
00362 } <span class="comment">// namespace Gnome</span>
00363 
00364 <span class="preprocessor">#endif </span><span class="comment">/* _LIBGNOMEVFSMM_MIME_HANDLERS_H */</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Dec 12 07:51:28 2003 for libgnomevfsmm by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.3 </small></address>
</body>
</html>