// CatalogError.cxx #include "dataset_catalog/CatalogError.h" using std::string; using dset::CatalogError; //********************************************************************** // Methods. //********************************************************************** // Constructor. CatalogError::CatalogError(string objtype) : m_objtype(objtype) { } //********************************************************************** string CatalogError::message(int ecode) { if ( ! is_generic_error(ecode) ) return "Error code out of range"; if ( ecode == no_error() ) return "No error"; if ( ecode == invalid_object_error() ) return "Invalid " + m_objtype; if ( ecode == id_assigned_error() ) return m_objtype + " ID already assigned"; if ( ecode == null_object_error() ) return "Null " + m_objtype; if ( ecode == invalid_id_error() ) return "Invalid " + m_objtype + " ID"; if ( ecode == no_such_object_error() ) return "No such " + m_objtype; if ( ecode == generic_read_error() ) return "Persistent read error"; if ( ecode == generic_write_error() ) return "Persistent write error"; if ( ecode == generic_access_error() ) return "Persistent access error"; if ( ecode == local_id_error() ) return "Local ID"; if ( ecode == object_parse_error() ) return "Unable to parse " + m_objtype + " XML"; if ( ecode == object_create_error() ) return "Unable to create " + m_objtype; return "Unknown error"; } //**********************************************************************