00001 /* -*- Mode: c++ -*- */ 00002 /* 00003 * this is part of Spm 00004 * 00005 * Copyright (c) 2005-2006 Guillaume Chevallereau 00006 * 00007 * This program is free software. You can redistribute it and/or modify it 00008 * under the terms of the GNU General Public License as published by the 00009 * Free Software Foundation. Either version 2 of the license or (at your 00010 * option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be usefull but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 00015 * more details. 00016 * 00017 * You should have received a copy of the GNU General Public License along 00018 * with this program; if not, write to the Free Software Foundation, Inc., 00019 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 00020 */ 00021 #ifndef __PLUGIN_EXCEPTION_H__ 00022 #define __PLUGIN_EXCEPTION_H__ 00023 00024 #include <util/utilException.h> 00025 #include <util/def.h> 00026 00027 namespace Spm 00028 { 00029 namespace Plugin 00030 { 00031 class NoPluginException : public Exception 00032 { 00033 public : 00034 NoPluginException (const std::string & pluginName); 00035 }; 00036 00037 class NotAPluginException : public Exception 00038 { 00039 public : 00040 NotAPluginException (const std::string & pluginFile); 00041 }; 00042 00043 class NotActivePluginException : public Exception 00044 { 00045 public : 00046 NotActivePluginException (const std::string & pluginName); 00047 }; 00048 00049 class NoPluginHandlerException : public Exception 00050 { 00051 public : 00052 NoPluginHandlerException (); 00053 }; 00054 00055 class NoOptionException : public Exception 00056 { 00057 public : 00058 NoOptionException (const std::string & optionName); 00059 }; 00060 00061 class AlreadyExistingOptionException : public Exception 00062 { 00063 public : 00064 AlreadyExistingOptionException (const std::string & optionName); 00065 }; 00066 00067 class PluginException : public Exception 00068 { 00069 public : 00070 PluginException (); 00071 }; 00072 00073 } 00074 } 00075 00076 #endif