Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

ExceptionBase.h

00001 /*
00002  *  Copyright (c) 2004 on behalf of the EU EGEE Project:
00003  *  The European Organization for Nuclear Research (CERN),
00004  *  Istituto Nazionale di Fisica Nucleare (INFN), Italy
00005  *  Datamat Spa, Italy
00006  *  Centre National de la Recherche Scientifique (CNRS), France
00007  *  CS Systeme d'Information (CSSI), France
00008  *  Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden
00009  *  Universiteit van Amsterdam (UvA), Netherlands
00010  *  University of Helsinki (UH.HIP), Finland
00011  *  University of Bergen (UiB), Norway
00012  *  Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom
00013  */
00014 #ifndef EXCEPTIONBASE_H
00015 #define EXCEPTIONBASE_H
00016 #include <exception>
00017 #include <string>
00018 
00019 namespace glite
00020 {
00021     namespace rgma
00022     {
00027         class ExceptionBase : public std::exception
00028         {
00029             protected:
00030                 std::string m_message;
00031                 int m_errNo;
00032                 ExceptionBase* m_cause;
00033                 std::string m_sourceIdentifier;
00034 
00035             public:
00036 
00037                 ExceptionBase();
00038                 virtual ~ExceptionBase()throw();
00043                 ExceptionBase* getCause() const;
00044 
00049                 std::string getMessage() const;
00054                 int getErrNo() const;
00059                 std::string getSourceIdentifier() const;
00063                 void cleanUp();
00067               const char* what() const throw();
00068         };
00069     }
00070 }
00071 #endif                                            // EXCEPTIONBASE_H

Generated on Wed Apr 25 19:11:32 2007 for glite-rgma-api-cpp by doxygen 1.3.5