00001 // -*- C++ -*- 00002 /* 00003 ** Copyright (C) 2000 Alan McIvor <alan@mcivor.gen.nz> 00004 ** 00005 ** This program is free software; you can redistribute it and/or modify 00006 ** it under the terms of the GNU General Public License as published by 00007 ** the Free Software Foundation; either version 2 of the License, or 00008 ** (at your option) any later version. 00009 ** 00010 ** This program is distributed in the hope that it will be useful, 00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 ** GNU General Public License for more details. 00014 ** 00015 ** You should have received a copy of the GNU General Public License 00016 ** along with this program; if not, write to the Free Software 00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00018 */ 00019 #ifndef PROJECTEXCEPTIONS_H 00020 #define PROJECTEXCEPTIONS_H 00021 00022 #include <string> 00023 using namespace std; 00024 00025 #include "openschedException.h" 00026 00027 class ProjectException 00028 : public OpenschedException 00029 { 00030 public: 00031 ProjectException( string reason ); 00032 ~ProjectException(); 00033 }; 00034 00035 00036 class TASKException 00037 : public ProjectException 00038 { 00039 public: 00040 TASKException( string id, string reason ); 00041 ~TASKException(); 00042 virtual string which() const; 00043 00044 private: 00045 string mId; 00046 }; 00047 00048 00049 class RESOURCEException 00050 : public ProjectException 00051 { 00052 public: 00053 RESOURCEException( string id, string reason ); 00054 ~RESOURCEException(); 00055 virtual string which() const; 00056 00057 private: 00058 string mId; 00059 }; 00060 00061 00062 #endif