<!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: uri.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 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 Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a></div> <h1>uri.h</h1><a href="uri_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span> 00002 <span class="comment">// Generated by gtkmmproc -- DO NOT MODIFY!</span> 00003 <span class="preprocessor">#ifndef _LIBGNOMEVFSMM_URI_H</span> 00004 <span class="preprocessor"></span><span class="preprocessor">#define _LIBGNOMEVFSMM_URI_H</span> 00005 <span class="preprocessor"></span> 00006 <span class="preprocessor">#include <glibmm.h></span> 00007 00008 <span class="comment">/* $Id: uri.hg,v 1.15 2003/12/03 19:28:54 murrayc Exp $ */</span> 00009 <span class="comment">// -*- C++ -*- // this is for the .hg, I realize gensig puts one in</span> 00010 00011 <span class="comment">/* Copyright 2003 gnome-vfsmm Development Team</span> 00012 <span class="comment"> *</span> 00013 <span class="comment"> * This library is free software; you can redistribute it and/or</span> 00014 <span class="comment"> * modify it under the terms of the GNU Library General Public</span> 00015 <span class="comment"> * License as published by the Free Software Foundation; either</span> 00016 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span> 00017 <span class="comment"> *</span> 00018 <span class="comment"> * This library is distributed in the hope that it will be useful,</span> 00019 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 00020 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> 00021 <span class="comment"> * Library General Public License for more details.</span> 00022 <span class="comment"> *</span> 00023 <span class="comment"> * You should have received a copy of the GNU Library General Public</span> 00024 <span class="comment"> * License along with this library; if not, write to the Free</span> 00025 <span class="comment"> * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span> 00026 <span class="comment"> */</span> 00027 00028 <span class="preprocessor">#include <<a class="code" href="file-info_8h.html">libgnomevfsmm/file-info.h</a>></span> 00029 <span class="preprocessor">#include <<a class="code" href="enums_8h.html">libgnomevfsmm/enums.h</a>></span> 00030 <span class="preprocessor">#include <<a class="code" href="exception_8h.html">libgnomevfsmm/exception.h</a>></span> 00031 <span class="preprocessor">#include <libgnomevfs/gnome-vfs-uri.h></span> 00032 <span class="preprocessor">#include <libgnomevfs/gnome-vfs-ops.h></span> 00033 00034 00035 <span class="keyword">namespace </span>Gnome 00036 { 00037 00038 <span class="keyword">namespace </span>Vfs 00039 { 00040 <a name="l00041"></a><a class="code" href="classGnome_1_1Vfs_1_1Uri.html">00041</a> <span class="keyword">class </span><a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a> 00042 { 00043 <span class="keyword">public</span>: 00044 <span class="preprocessor">#ifndef DOXYGEN_SHOULD_SKIP_THIS</span> 00045 <span class="preprocessor"></span> <span class="keyword">typedef</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a> CppObjectType; 00046 <span class="keyword">typedef</span> GnomeVFSURI BaseObjectType; 00047 <span class="preprocessor">#endif </span><span class="comment">/* DOXYGEN_SHOULD_SKIP_THIS */</span> 00048 00049 00050 <span class="comment">// For use with Glib::RefPtr<> only.</span> 00051 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a0">reference</a>() <span class="keyword">const</span>; 00052 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a1">unreference</a>() <span class="keyword">const</span>; 00053 00055 GnomeVFSURI* <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a2">gobj</a>(); 00056 00058 <span class="keyword">const</span> GnomeVFSURI* <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a2">gobj</a>() <span class="keyword">const</span>; 00059 00060 <span class="comment">// The caller is responsible for freeing it. Use when directly setting fields in structs.</span> 00061 GnomeVFSURI* <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a4">gobj_copy</a>() <span class="keyword">const</span>; 00062 00063 <span class="keyword">protected</span>: 00064 <span class="comment">// Do not derive this. Gnome::Vfs::Uri can neither be constructed nor deleted.</span> 00065 <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#b0">Uri</a>(); 00066 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#b1">operator delete</a>(<span class="keywordtype">void</span>*, size_t); 00067 00068 <span class="keyword">private</span>: 00069 <span class="comment">// noncopyable</span> 00070 <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#b0">Uri</a>(<span class="keyword">const</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a>&); 00071 <a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a>& operator=(<span class="keyword">const</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a>&); 00072 00073 00074 <span class="keyword">public</span>: 00075 00080 <span class="keyword">static</span> Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#e0">create</a>(<span class="keyword">const</span> Glib::ustring& uri); 00081 00082 00087 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a5">resolve_relative</a>(<span class="keyword">const</span> Glib::ustring& relative_reference); 00088 00089 00096 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a6">append_string</a>(<span class="keyword">const</span> Glib::ustring& uri_fragment); 00097 00104 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a7">append_path</a>(<span class="keyword">const</span> Glib::ustring& path); 00105 00112 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a8">append_file_name</a>(<span class="keyword">const</span> Glib::ustring& filename); 00113 00120 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a9">to_string</a>(<a class="code" href="group__libgnomevfsmmEnums.html#a58">URIHideOptions</a> hide_options = <a class="code" href="group__libgnomevfsmmEnums.html#a58a49">URI_HIDE_NONE</a>) <span class="keyword">const</span>; 00121 00125 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a10">dup</a>(); 00126 00130 <span class="keywordtype">bool</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a11">is_local</a>() <span class="keyword">const</span>; 00131 00135 <span class="keywordtype">bool</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a12">has_parent</a>() <span class="keyword">const</span>; 00136 00140 Glib::RefPtr<Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a13">get_parent</a>(); 00141 00145 Glib::RefPtr<const Uri> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a13">get_parent</a>() <span class="keyword">const</span>; 00146 00147 <span class="comment">//TODO: Use a C++ instance type instead a the C type. </span> 00148 00152 GnomeVFSToplevelURI* <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a15">get_toplevel</a>(); 00153 <span class="comment">//TODO: _WRAP_METHOD(const GnomeVFSToplevelURI* get_toplevel() const, gnome_vfs_uri_get_toplevel)</span> 00154 00155 00159 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a16">get_host_name</a>() <span class="keyword">const</span>; 00160 00164 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a17">get_scheme</a>() <span class="keyword">const</span>; 00165 00169 guint <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a18">get_host_port</a>() <span class="keyword">const</span>; 00170 00174 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a19">get_user_name</a>() <span class="keyword">const</span>; 00175 00179 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a20">get_password</a>() <span class="keyword">const</span>; 00180 00181 00185 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a21">set_host_name</a>(<span class="keyword">const</span> Glib::ustring& host_name); 00186 00191 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a22">set_host_port</a>(guint host_port); 00192 00196 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a23">set_user_name</a>(<span class="keyword">const</span> Glib::ustring& user_name); 00197 00201 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a24">set_password</a>(<span class="keyword">const</span> Glib::ustring& password); 00202 00203 00211 <span class="keywordtype">bool</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a25">is_parent</a>(<span class="keyword">const</span> Glib::RefPtr<const Uri>& possible_child, <span class="keywordtype">bool</span> recursive = <span class="keyword">true</span>) <span class="keyword">const</span>; 00212 00213 00217 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a26">get_path</a>() <span class="keyword">const</span>; 00218 00222 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a27">get_fragment_identifier</a>() <span class="keyword">const</span>; 00223 00228 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a28">extract_dirname</a>() <span class="keyword">const</span>; 00229 00240 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a29">extract_short_name</a>() <span class="keyword">const</span>; 00241 00252 Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a30">extract_short_path_name</a>() <span class="keyword">const</span>; 00253 00254 <span class="comment">//These are used for creating hashes for hash tables, apparently.</span> 00255 <span class="comment">//I don't see the point of wrapping them.</span> 00256 00257 00258 <span class="comment">/*</span> 00259 <span class="comment">GList* gnome_vfs_uri_list_parse(const Glib::ustring& uri_list), )</span> 00260 <span class="comment">GList* gnome_vfs_uri_list_ref(GList *list), )</span> 00261 <span class="comment">GList* gnome_vfs_uri_list_unref(GList *list), )</span> 00262 <span class="comment">GList* gnome_vfs_uri_list_copy(GList *list), )</span> 00263 <span class="comment">void gnome_vfs_uri_list_free(GList *list), )</span> 00264 <span class="comment">*/</span> 00265 00266 00273 <span class="keyword">static</span> Glib::ustring <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#e1">make_full_from_relative</a>(<span class="keyword">const</span> Glib::ustring& base_uri, <span class="keyword">const</span> Glib::ustring& relative_uri); 00274 00275 00280 Glib::RefPtr<FileInfo> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a31">get_file_info</a>(<a class="code" href="group__libgnomevfsmmEnums.html#a56">FileInfoOptions</a> options = <a class="code" href="group__libgnomevfsmmEnums.html#a56a0">FILE_INFO_DEFAULT</a>) <span class="keyword">const</span> <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>); 00281 00285 <span class="keywordtype">void</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a32">create_symbolic_link</a>(<span class="keyword">const</span> Glib::ustring& target_reference) <span class="keywordflow">throw</span>(<a class="code" href="classGnome_1_1Vfs_1_1exception.html">exception</a>); 00286 00290 <span class="keywordtype">bool</span> <a class="code" href="classGnome_1_1Vfs_1_1Uri.html#a33">uri_exists</a>() <span class="keyword">const</span>; 00291 00292 00293 }; 00294 00295 <a name="l00296"></a><a class="code" href="classGnome_1_1Vfs_1_1TopLevelUri.html">00296</a> <span class="keyword">class </span><a class="code" href="classGnome_1_1Vfs_1_1TopLevelUri.html">TopLevelUri</a> : <a class="code" href="classGnome_1_1Vfs_1_1Uri.html">Uri</a> 00297 { 00298 <span class="comment">//TODO: member accessors?</span> 00299 }; 00300 00301 00302 } <span class="comment">// namespace Vfs</span> 00303 } <span class="comment">// namespace Gnome</span> 00304 00305 00306 <span class="keyword">namespace </span>Gnome 00307 { 00308 00309 <span class="keyword">namespace </span>Vfs 00310 { 00311 00313 <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> Uri& lhs, <span class="keyword">const</span> Uri& rhs); 00314 00316 <span class="keywordtype">bool</span> operator!=(<span class="keyword">const</span> Uri& lhs, <span class="keyword">const</span> Uri& rhs); 00317 00318 00319 } <span class="comment">// namespace Vfs</span> 00320 00321 } <span class="comment">// namespace Gnome</span> 00322 00323 00324 <span class="keyword">namespace </span>Glib 00325 { 00326 00328 Glib::RefPtr<Gnome::Vfs::Uri> wrap(GnomeVFSURI* object, <span class="keywordtype">bool</span> take_copy = <span class="keyword">false</span>); 00329 00330 } <span class="comment">// namespace Glib</span> 00331 00332 <span class="preprocessor">#endif </span><span class="comment">/* _LIBGNOMEVFSMM_URI_H */</span> 00333 </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>