PCMException_impl.h

Go to the documentation of this file.
00001 
00002 //
00003 // This source file is a part of ParCompMark
00004 // Parallel Compositing Benchmark Framework
00005 //
00006 // for latest info see http://parcompmark.sourceforge.net
00007 
00008 //
00009 // Copyright (C) 2006 IT2 ParCompMark Dev. Team
00010 // 
00011 // This program is free software; you can redistribute it and/or
00012 // modify it under the terms of the GNU General Public License
00013 // as published by the Free Software Foundation; either version 2
00014 // of the License, or (at your option) any later version.
00015 // 
00016 // This program is distributed in the hope that it will be useful,
00017 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 // GNU General Public License for more details.
00020 // 
00021 // You should have received a copy of the GNU General Public License
00022 // along with this program; if not, write to the Free Software
00023 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00024 
00027 
00028  //
00029  // Constructors & destructor
00030  //
00031 
00032 inline Exception::Exception(const ExceptionType & type, const std::string & description,
00033                          const std::string & fileName, const std::string & functionName,
00034                          const u32 & lineNumber)
00035 // You have to initialize the following attributes:
00036 // - mType
00037 // - mDescription
00038 // - mFileName
00039 // - mFunctionName
00040 // - mLineNumber
00041 // - mLastException
00042 {
00043   mType = type;
00044   mDescription = description;
00045   mFileName = fileName;
00046   mFunctionName = functionName;
00047   mLineNumber = lineNumber;
00048   mLastException = this;
00049 }
00050 
00051  /*----------------------------------------------------------------------*/
00052 
00053  //
00054  // Getters & setters
00055  //
00056 
00057 inline const Exception::ExceptionType & Exception::getType() const
00058 {
00059   return mType;
00060 }
00061 
00062  /*-------------------------------------------------------------------------*/
00063 
00064 inline const std::string & Exception::getDescription() const
00065 {
00066   return mDescription;
00067 }
00068 
00069  /*-------------------------------------------------------------------------*/
00070 
00071 inline const std::string & Exception::getFileName() const
00072 {
00073   return mFileName;
00074 }
00075 
00076  /*-------------------------------------------------------------------------*/
00077 
00078 inline const std::string & Exception::getFunctionName() const
00079 {
00080   return mFunctionName;
00081 }
00082 
00083  /*-------------------------------------------------------------------------*/
00084 
00085 inline const u32 & Exception::getLineNumber() const
00086 {
00087   return mLineNumber;
00088 }
00089 
00090  /*-------------------------------------------------------------------------*/
00091 
00092 inline Exception *Exception::getLastException()
00093 {
00094   return mLastException;
00095 }
00096 
00097  /*-------------------------------------------------------------------------*/