00001 // -*- Socket Streams -*- 00002 00003 // Copyright (C) 2003, 2004, 2005 Pedro LamarĂ£o <pedro.lamarao@mndfck.org> 00004 00005 // This file is part of the Socket Streams Library. This library is free 00006 // software; you can redistribute it and/or modify it under the 00007 // terms of the GNU Lesser General Public License as published by the 00008 // Free Software Foundation; either version 2.1 of the License 00009 // or (at your option) any later version. 00010 00011 // This library is distributed in the hope that it will be useful, 00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 // GNU Lesser General Public License for more details. 00015 00016 // You should have received a copy of the GNU Lesser General Public License along 00017 // with this library; see the file COPYING. If not, write to the Free 00018 // Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, 00019 // USA 00020 00025 #ifndef SOCKETSTREAM_SOCKET_EXCEPTION_H 00026 #define SOCKETSTREAM_SOCKET_EXCEPTION_H 1 00027 00028 #include <socketstream/config.h> 00029 00030 #include <string> 00031 #include <socketstream/sockets_exception.h> 00032 00033 namespace ss { 00034 00038 class SOCKETSTREAM_API socket_exception 00039 : public exception 00040 { 00041 public: 00042 00048 socket_exception () throw (); 00049 00055 socket_exception (int __code) throw (); 00056 00060 virtual 00061 ~socket_exception () throw () { } 00062 00063 virtual const char* 00064 what() const throw (); 00065 00066 virtual int 00067 code() const throw (); 00068 00069 protected: 00070 00071 std::string _M_msg; 00072 int _M_code; 00073 00074 }; 00075 } 00076 00077 #endif // SOCKETSTREAM_SOCKET_EXCEPTION_H