00001 // This is part of tacppd project (extended tacacs++ daemon) 00002 // (c) Copyright in 2000-2004 by tacppd team and contributors 00003 // see http://tacppd.org for more information 00004 // 00005 // file: Errors.h 00006 // description: error types have stored here 00007 00008 // This program is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by 00010 // the Free Software Foundation; either version 2 of the License, or 00011 // (at your option) any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License 00019 // along with this program; if not, write to the Free Software 00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 00022 // modifications: 00023 // 00024 00025 #ifndef __ERRORS_H__ 00026 #define __ERRORS_H__ 00027 00028 #include "global.h" 00029 00030 namespace tacpp { 00031 00032 // this is exit type - for use with throw/catch 00033 class TacppErr {}; // 00034 00039 class VtyErr:public TacppErr { 00040 public: 00043 int execStat; 00046 string addComment; 00049 VtyErr(){}; 00052 VtyErr(int eS,string aC):execStat(eS),addComment(aC){}; 00055 VtyErr(int eS,const char * aC):execStat(eS),addComment(aC){}; 00056 }; 00057 00060 class CmdErr:public VtyErr { 00061 public: 00064 int errPos; 00067 CmdErr(int eP,int eS,string aC):VtyErr(eS,aC),errPos(eP){}; 00070 CmdErr(int eP,int eS,const char * aC):VtyErr(eS,aC),errPos(eP){}; 00073 CmdErr(){}; 00074 }; 00075 00076 }; 00077 00078 #endif //__ERRORS_H__