conexus logo

except_state.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2001 by Rick L. Vinyard, Jr.                            *
00003  *   rvinyard@cs.nmsu.edu                                                  *
00004  *                                                                         *
00005  *   This file is part of the conexus library.                             *
00006  *                                                                         *
00007  *   The conexus library is free software; you can redistribute it and/or  *
00008  *   modify it under the terms of the GNU General Public License           *
00009  *   version 3 as published by the Free Software Foundation.               *
00010  *                                                                         *
00011  *   The conexus library is distributed in the hope that it will be        *
00012  *   useful, but WITHOUT ANY WARRANTY; without even the implied warranty   *
00013  *   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   *
00014  *   General Public License for more details.                              *
00015  *                                                                         *
00016  *   You should have received a copy of the GNU General Public License     *
00017  *   along with this software. If not see <http://www.gnu.org/licenses/>.  *
00018  ***************************************************************************/
00019 #ifndef CONEXUSEXCEPT_STATE_H
00020 #define CONEXUSEXCEPT_STATE_H
00021 
00022 #include <conexus/except.h>
00023 
00024 namespace Conexus
00025   {
00026 
00032   class state_exception: public conexus_exception
00033     {
00034     public:
00035       state_exception(int e=0): conexus_exception("Unknown exception, state transition failed.",e,"state")
00036       { }
00037       state_exception(const std::string s, int e=0): conexus_exception(s,e,"state")
00038       { }
00039     }
00040   ;
00041 
00042   namespace exception
00043     {
00044 
00045     namespace state
00046       {
00047 
00053       class illegal: public state_exception
00054         {
00055         public:
00056           illegal(): state_exception("Attempting to transition to an illegal state.", -1)
00057           { }
00058         }
00059       ;
00060 
00066       class inconsistent: public state_exception
00067       {
00068       public:
00069       inconsistent(): state_exception("Attempting to transition to an inconsistent state.", -1)
00070         { }
00071       }
00072       ;
00073 
00080       class failed: public state_exception
00081       {
00082       public:
00083       failed(): state_exception("State transition was legal and consistent, but it still failed.", -1)
00084         { }
00085       };
00086 
00092       class invalid_read_write: public state_exception
00093       {
00094         public:
00095           invalid_read_write(): state_exception("Invalid read/write mode", -1)
00096           { }
00097       };
00098 
00099 
00100       }
00101 
00102   }
00103 
00104 }
00105 
00106 #endif // CONEXUSSEND_ERROR_H

Generated on Wed Jul 8 15:50:07 2009 for conexus by doxygen 1.5.8