/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008, Tomasz Sowa * All rights reserved. * */ #ifndef headerfileerror #define headerfileerror #include #include "log.h" class Error { public: enum Code { ok = 0, incorrect_path, db_fatal_error_during_connecting, db_incorrect_query, db_incorrent_result_status, db_no_column, db_no_item, db_incorrect_login, db_more_than_one_login, db_err_currval, no_cookie, incorrect_dir, cant_change_user, cant_change_group, cant_change_privileges, permision_denied, unknown = 1000 }; Error(); Error(Code c); Error(int i); Error(const Error & e); Error & operator=(Code c); Error & operator=(const Error & e); operator int() const; bool operator==(Code c) const; bool operator!=(Code c) const; friend std::ostream & operator<<(std::ostream & out, const Error & e); friend Log & operator<<(Log & out, const Error & e); private: Code code; }; std::ostream & operator<<(std::ostream & out, const Error & e); Log & operator<<(Log & out, const Error & e); #endif