diff options
Diffstat (limited to 'bdb/cxx/cxx_except.cpp')
-rw-r--r-- | bdb/cxx/cxx_except.cpp | 330 |
1 files changed, 0 insertions, 330 deletions
diff --git a/bdb/cxx/cxx_except.cpp b/bdb/cxx/cxx_except.cpp deleted file mode 100644 index 40fdeae69d6..00000000000 --- a/bdb/cxx/cxx_except.cpp +++ /dev/null @@ -1,330 +0,0 @@ -/*- - * See the file LICENSE for redistribution information. - * - * Copyright (c) 1997-2002 - * Sleepycat Software. All rights reserved. - */ - -#include "db_config.h" - -#ifndef lint -static const char revid[] = "$Id: cxx_except.cpp,v 11.17 2002/08/23 01:07:27 mjc Exp $"; -#endif /* not lint */ - -#include <string.h> -#include <errno.h> - -#include "db_cxx.h" -#include "dbinc/cxx_int.h" - -// tmpString is used to create strings on the stack -// -class tmpString -{ -public: - tmpString(const char *str1, - const char *str2 = 0, - const char *str3 = 0, - const char *str4 = 0, - const char *str5 = 0); - ~tmpString() { delete [] s_; } - operator const char *() { return (s_); } - -private: - char *s_; -}; - -tmpString::tmpString(const char *str1, - const char *str2, - const char *str3, - const char *str4, - const char *str5) -{ - size_t len = strlen(str1); - if (str2) - len += strlen(str2); - if (str3) - len += strlen(str3); - if (str4) - len += strlen(str4); - if (str5) - len += strlen(str5); - - s_ = new char[len+1]; - - strcpy(s_, str1); - if (str2) - strcat(s_, str2); - if (str3) - strcat(s_, str3); - if (str4) - strcat(s_, str4); - if (str5) - strcat(s_, str5); -} - -// Note: would not be needed if we can inherit from exception -// It does not appear to be possible to inherit from exception -// with the current Microsoft library (VC5.0). -// -static char *dupString(const char *s) -{ - char *r = new char[strlen(s)+1]; - strcpy(r, s); - return (r); -} - -//////////////////////////////////////////////////////////////////////// -// // -// DbException // -// // -//////////////////////////////////////////////////////////////////////// - -DbException::~DbException() -{ - if (what_) - delete [] what_; -} - -DbException::DbException(int err) -: err_(err) -{ - what_ = dupString(db_strerror(err)); -} - -DbException::DbException(const char *description) -: err_(0) -{ - what_ = dupString(tmpString(description)); -} - -DbException::DbException(const char *prefix, int err) -: err_(err) -{ - what_ = dupString(tmpString(prefix, ": ", db_strerror(err))); -} - -DbException::DbException(const char *prefix1, const char *prefix2, int err) -: err_(err) -{ - what_ = dupString(tmpString(prefix1, ": ", prefix2, ": ", - db_strerror(err))); -} - -DbException::DbException(const DbException &that) -: err_(that.err_) -{ - what_ = dupString(that.what_); -} - -DbException &DbException::operator = (const DbException &that) -{ - if (this != &that) { - err_ = that.err_; - if (what_) - delete [] what_; - what_ = 0; // in case new throws exception - what_ = dupString(that.what_); - } - return (*this); -} - -int DbException::get_errno() const -{ - return (err_); -} - -const char *DbException::what() const -{ - return (what_); -} - -//////////////////////////////////////////////////////////////////////// -// // -// DbMemoryException // -// // -//////////////////////////////////////////////////////////////////////// - -static const char *memory_err_desc = "Dbt not large enough for available data"; -DbMemoryException::~DbMemoryException() -{ -} - -DbMemoryException::DbMemoryException(Dbt *dbt) -: DbException(memory_err_desc, ENOMEM) -, dbt_(dbt) -{ -} - -DbMemoryException::DbMemoryException(const char *description) -: DbException(description, ENOMEM) -, dbt_(0) -{ -} - -DbMemoryException::DbMemoryException(const char *prefix, Dbt *dbt) -: DbException(prefix, memory_err_desc, ENOMEM) -, dbt_(dbt) -{ -} - -DbMemoryException::DbMemoryException(const char *prefix1, const char *prefix2, - Dbt *dbt) -: DbException(prefix1, prefix2, ENOMEM) -, dbt_(dbt) -{ -} - -DbMemoryException::DbMemoryException(const DbMemoryException &that) -: DbException(that) -, dbt_(that.dbt_) -{ -} - -DbMemoryException -&DbMemoryException::operator =(const DbMemoryException &that) -{ - if (this != &that) { - DbException::operator=(that); - dbt_ = that.dbt_; - } - return (*this); -} - -Dbt *DbMemoryException::get_dbt() const -{ - return (dbt_); -} - -//////////////////////////////////////////////////////////////////////// -// // -// DbDeadlockException // -// // -//////////////////////////////////////////////////////////////////////// - -DbDeadlockException::~DbDeadlockException() -{ -} - -DbDeadlockException::DbDeadlockException(const char *description) -: DbException(description, DB_LOCK_DEADLOCK) -{ -} - -DbDeadlockException::DbDeadlockException(const DbDeadlockException &that) -: DbException(that) -{ -} - -DbDeadlockException -&DbDeadlockException::operator =(const DbDeadlockException &that) -{ - if (this != &that) - DbException::operator=(that); - return (*this); -} - -//////////////////////////////////////////////////////////////////////// -// // -// DbLockNotGrantedException // -// // -//////////////////////////////////////////////////////////////////////// - -DbLockNotGrantedException::~DbLockNotGrantedException() -{ - delete lock_; -} - -DbLockNotGrantedException::DbLockNotGrantedException(const char *prefix, - db_lockop_t op, db_lockmode_t mode, const Dbt *obj, const DbLock lock, - int index) -: DbException(prefix, DbEnv::strerror(DB_LOCK_NOTGRANTED), - DB_LOCK_NOTGRANTED) -, op_(op) -, mode_(mode) -, obj_(obj) -, index_(index) -{ - lock_ = new DbLock(lock); -} - -DbLockNotGrantedException::DbLockNotGrantedException - (const DbLockNotGrantedException &that) -: DbException(that) -{ - op_ = that.op_; - mode_ = that.mode_; - obj_ = that.obj_; - lock_ = new DbLock(*that.lock_); - index_ = that.index_; -} - -DbLockNotGrantedException -&DbLockNotGrantedException::operator =(const DbLockNotGrantedException &that) -{ - if (this != &that) { - DbException::operator=(that); - op_ = that.op_; - mode_ = that.mode_; - obj_ = that.obj_; - lock_ = new DbLock(*that.lock_); - index_ = that.index_; - } - return (*this); -} - -db_lockop_t DbLockNotGrantedException::get_op() const -{ - return op_; -} - -db_lockmode_t DbLockNotGrantedException::get_mode() const -{ - return mode_; -} - -const Dbt* DbLockNotGrantedException::get_obj() const -{ - return obj_; -} - -DbLock* DbLockNotGrantedException::get_lock() const -{ - return lock_; -} - -int DbLockNotGrantedException::get_index() const -{ - return index_; -} - - - -//////////////////////////////////////////////////////////////////////// -// // -// DbRunRecoveryException // -// // -//////////////////////////////////////////////////////////////////////// - -DbRunRecoveryException::~DbRunRecoveryException() -{ -} - -DbRunRecoveryException::DbRunRecoveryException(const char *description) -: DbException(description, DB_RUNRECOVERY) -{ -} - -DbRunRecoveryException::DbRunRecoveryException - (const DbRunRecoveryException &that) -: DbException(that) -{ -} - -DbRunRecoveryException -&DbRunRecoveryException::operator =(const DbRunRecoveryException &that) -{ - if (this != &that) - DbException::operator=(that); - return (*this); -} |