X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FError.hh;h=494dd60f8cf925c65f38ed8762e1218d31632980;hp=05c637705a96d77c91169803e41ae4b1b7f8f6fc;hb=299af4f2047e767e5d79501c26444473bda64c64;hpb=987971a961454d97082c6448fdc0bbeb540281bb diff --git a/src/Moof/Error.hh b/src/Moof/Error.hh index 05c6377..494dd60 100644 --- a/src/Moof/Error.hh +++ b/src/Moof/Error.hh @@ -1,30 +1,13 @@ -/******************************************************************************* - - Copyright (c) 2009, Charles McGarvey - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*******************************************************************************/ +/*] Copyright (c) 2009-2010, Charles McGarvey [************************** +**] All rights reserved. +* +* vi:ts=4 sw=4 tw=75 +* +* Distributable under the terms and conditions of the 2-clause BSD license; +* see the file COPYING for a complete text of the license. +* +**************************************************************************/ #ifndef _MOOF_ERROR_HH_ #define _MOOF_ERROR_HH_ @@ -47,8 +30,8 @@ public: NONE = 0, // - ALC_INIT, // description FASTEVENTS_INIT, // description - OPENAL_INIT, // description FILE_NOT_FOUND, // path of missing file + OPENAL_INIT, // description RESOURCE_NOT_FOUND, // name of missing resource SCRIPT_ERROR, // description SDL_INIT, // description @@ -57,20 +40,20 @@ public: UNKNOWN_IMAGE_FORMAT, // name of resource }; - explicit Error(unsigned code, const std::string& what = "") + explicit Error(unsigned code = NONE, const std::string& what = "") { init(code, what); } virtual ~Error() throw() {} - void init(unsigned code, const std::string& what = "") + void init(unsigned code = NONE, const std::string& what = "") { - mWhat[sizeof(mWhat)-1] = '\0'; strncpy(mWhat, what.c_str(), sizeof(mWhat)-1); + mWhat[sizeof(mWhat)-1] = '\0'; mCode = code; } - virtual void raise() + virtual void raise() const { throw *this; } @@ -85,8 +68,9 @@ public: return mWhat; } - bool isError() const throw() + operator bool () const { + // resolves to true if error code is not NONE return mCode != NONE; } @@ -107,5 +91,3 @@ private: #endif // _MOOF_ERROR_HH_ -/** vim: set ts=4 sw=4 tw=80: *************************************************/ -