00001 #ifndef ErrorUnitH 00002 #define ErrorUnitH 00003 00004 /******************************************************************************* 00005 Copyright 1998,1999,2000,2001 Petr Kulhanek 00006 00007 This file is part of Core plugin. 00008 00009 Core plugin is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 Core plugin is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with Core plugin; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 *******************************************************************************/ 00023 /******************************************************************************* 00024 ** PROJECT: Project NEMESIS 00025 ** FILE: ErrorUnit 00026 ** FUNCTION: error code and handling 00027 ** VERSION: 1.0 00028 ** LANGUAGE: CBuilder C++ 00029 ** TARGET COMPUTER: IBM PC 00030 ** PROGRAMMER: Petr Kulhánek 00031 ** HISTORY: 00032 VERSION DATE NOTE 00033 *******************************************************************************/ 00034 00038 /* HEADER FILES ***************************************************************/ 00039 00040 #include "CoreMainHeader.h" 00041 #include "SmallString.h" 00042 00043 /* HEADER FILES END ***********************************************************/ 00044 00045 //--------------------------------------------------------------------------- 00046 00048 00051 enum EError{ 00052 E_OK=0, 00053 E_JOB_HAS_ALREADY_STARTED, 00054 E_PROJECT_MUST_BE_SAVED, 00055 E_PROJECT_DO_NOT_HAVE_ATOMS, 00056 E_PREPARE_JOB_DIR_FAILED, 00057 E_PREPARE_JOB_INPUT_FAILED, 00058 E_JOB_CANNOT_BE_PAUSED, 00059 E_JOB_HAS_ALREADY_PAUSED, 00060 E_JOB_NOT_RUN_NOT_SYNCHRONIZED, 00061 E_JOB_IS_SYNCHRONIZING, 00062 E_JOB_NOT_RUN_NOT_KILLED, 00063 E_JOB_NOT_KILL_SYNCHRONIZING, 00064 E_CHARON_COMM_ERROR, 00065 E_CHARON_ALLOC_ID_FAILED, 00066 E_CHARON_SUBMIT_JOB_FAILED, 00067 E_CHARON_UNABLE_CONNECT_TO_SERVER, 00068 }; 00069 00070 //--------------------------------------------------------------------------- 00071 00073 00076 class NEMESIS_CORE_PACKAGE CError { 00077 public: 00078 static void __fastcall SetLastError(EError error); 00079 static void __fastcall ThrowError(EError error); 00080 static void __fastcall ThrowError(void); 00081 static void __fastcall ThrowError(EError error,const CSmallString& title); 00082 00083 private: 00084 static EError LastError; 00085 }; 00086 00087 //--------------------------------------------------------------------------- 00088 #endif