libgnomevfsmm 2.26.0
|
00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGNOMEVFSMM_RESOLVE_HANDLE_H 00004 #define _LIBGNOMEVFSMM_RESOLVE_HANDLE_H 00005 00006 00007 #include <glibmm.h> 00008 00009 /* Copyright 2003 gnome-vfsmm Development Team 00010 * 00011 * This library is free software; you can redistribute it and/or 00012 * modify it under the terms of the GNU Lesser General Public 00013 * License as published by the Free Software Foundation; either 00014 * version 2.1 of the License, or (at your option) any later version. 00015 * 00016 * This library is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00019 * Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this library; if not, write to the Free 00023 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00024 */ 00025 00026 #include <libgnomevfsmm/address.h> 00027 #include <glibmm.h> 00028 #include <libgnomevfs/gnome-vfs-resolve.h> 00029 00030 00031 namespace Gnome 00032 { 00033 00034 namespace Vfs 00035 { 00036 00037 //The default constructor creates a null handle. Use resolve() before anything else. 00038 class ResolveHandle 00039 { 00040 public: 00041 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00042 typedef ResolveHandle CppObjectType; 00043 typedef GnomeVFSResolveHandle BaseObjectType; 00044 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00045 00046 private: 00047 00048 00049 public: 00050 ResolveHandle(); 00051 ~ResolveHandle(); 00052 00053 #ifdef GLIBMM_EXCEPTIONS_ENABLED 00054 void resolve(const Glib::ustring& hostname); 00055 #else 00056 void resolve(const Glib::ustring& hostname, std::auto_ptr<Gnome::Vfs::exception>& error); 00057 #endif //GLIBMM_EXCEPTIONS_ENABLED 00058 00059 bool next_address(Address& address); 00060 void reset_to_beginning(); 00061 00062 GnomeVFSResolveHandle* gobj() { return gobject_; } 00063 const GnomeVFSResolveHandle* gobj() const { return gobject_; } 00064 GnomeVFSResolveHandle** gobj_addr() { return &gobject_; } 00065 00066 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00067 void assign_gobj(GnomeVFSResolveHandle* src); 00068 #endif 00069 00070 protected: 00071 GnomeVFSResolveHandle* gobject_; 00072 00073 private: 00074 ResolveHandle(const ResolveHandle&); 00075 ResolveHandle& operator=(const ResolveHandle&); 00076 00077 00078 }; 00079 00080 } // namespace Vfs 00081 } // namespace Gnome 00082 00083 00084 #endif /* _LIBGNOMEVFSMM_RESOLVE_HANDLE_H */ 00085