Exiv2
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
error.hpp File Reference

Error class for exceptions, log message class. More...

#include "exiv2lib_export.h"
#include "types.hpp"
#include <exception>
#include <string>

Go to the source code of this file.

Classes

class  Exiv2::LogMsg
 Class for a log message, used by the library. Applications can set the log level and provide a customer log message handler (callback function). More...
 
class  Exiv2::AnyError
 Error class interface. Allows the definition and use of a hierarchy of error classes which can all be handled in one catch block. Inherits from the standard exception base-class, to make life easier for library users (they have the option of catching most things via std::exception). More...
 
class  Exiv2::BasicError< charT >
 Simple error class used for exceptions. An output operator is provided to print errors to a stream. More...
 

Namespaces

namespace  Exiv2
 Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace.
 

Macros

#define EXV_DEBUG   if (LogMsg::debug >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::debug).os()
 Shorthand to create a temp debug log message object and return its ostringstream.
 
#define EXV_INFO   if (LogMsg::info >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::info).os()
 Shorthand for a temp info log message object and return its ostringstream.
 
#define EXV_WARNING   if (LogMsg::warn >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::warn).os()
 Shorthand for a temp warning log message object and return its ostringstream.
 
#define EXV_ERROR   if (LogMsg::error >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::error).os()
 Shorthand for a temp error log message object and return its ostringstream.
 

Typedefs

typedef BasicError< char > Exiv2::Error
 Error class used for exceptions (std::string based)
 

Enumerations

enum  Exiv2::ErrorCode {
  kerGeneralError = -1 , kerSuccess = 0 , kerErrorMessage , kerCallFailed ,
  kerNotAnImage , kerInvalidDataset , kerInvalidRecord , kerInvalidKey ,
  kerInvalidTag , kerValueNotSet , kerDataSourceOpenFailed , kerFileOpenFailed ,
  kerFileContainsUnknownImageType , kerMemoryContainsUnknownImageType , kerUnsupportedImageType , kerFailedToReadImageData ,
  kerNotAJpeg , kerFailedToMapFileForReadWrite , kerFileRenameFailed , kerTransferFailed ,
  kerMemoryTransferFailed , kerInputDataReadFailed , kerImageWriteFailed , kerNoImageInInputData ,
  kerInvalidIfdId , Exiv2::kerValueTooLarge , Exiv2::kerDataAreaValueTooLarge , kerOffsetOutOfRange ,
  kerUnsupportedDataAreaOffsetType , kerInvalidCharset , kerUnsupportedDateFormat , kerUnsupportedTimeFormat ,
  kerWritingImageFormatUnsupported , kerInvalidSettingForImage , kerNotACrwImage , kerFunctionNotSupported ,
  kerNoNamespaceInfoForXmpPrefix , kerNoPrefixForNamespace , kerTooLargeJpegSegment , kerUnhandledXmpdatum ,
  kerUnhandledXmpNode , kerXMPToolkitError , kerDecodeLangAltPropertyFailed , kerDecodeLangAltQualifierFailed ,
  kerEncodeLangAltPropertyFailed , kerPropertyNameIdentificationFailed , kerSchemaNamespaceNotRegistered , kerNoNamespaceForPrefix ,
  kerAliasesNotSupported , kerInvalidXmpText , kerTooManyTiffDirectoryEntries , kerMultipleTiffArrayElementTagsInDirectory ,
  kerWrongTiffArrayElementTagType , kerInvalidKeyXmpValue , kerInvalidIccProfile , kerInvalidXMP ,
  kerTiffDirectoryTooLarge , kerInvalidTypeValue , kerInvalidLangAltValue , kerInvalidMalloc ,
  kerCorruptedMetadata , kerArithmeticOverflow , kerMallocFailed
}
 Complete list of all Exiv2 error codes. More...
 

Functions

template<typename charT , typename T >
std::basic_string< charT > Exiv2::toBasicString (const T &arg)
 Generalised toString function.
 
std::ostream & Exiv2::operator<< (std::ostream &os, const AnyError &error)
 AnyError output operator
 
const char * Exiv2::errMsg (int code)
 Return the error message for the error with code code.
 

Detailed Description

Error class for exceptions, log message class.

Author
Andreas Huggel (ahu) ahuggel@gmx.net
Date
15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component