
// Auto-generated file -- do not edit

#ifndef AUTOGEN_COMPRESSEXCEPTION_H
#define AUTOGEN_COMPRESSEXCEPTION_H

#include "BoxException.h"

// --------------------------------------------------------------------------
//
// Class
//		Name:    CompressException
//		Purpose: Exception
//		Created: autogen
//
// --------------------------------------------------------------------------
class CompressException : public BoxException
{
public:
	CompressException(unsigned int SubType,
		const std::string& rMessage = "")
	: mSubType(SubType), mMessage(rMessage)
	{
	}
	
	CompressException(const CompressException &rToCopy)
	: mSubType(rToCopy.mSubType), mMessage(rToCopy.mMessage)
	{
	}
	
	~CompressException() throw ()
	{
	}
	
	enum
	{
		ExceptionType = 6
	};

	enum
	{
		Internal = 0,
		InitFailed = 1,
		EndFailed = 2,
		BadUsageInputNotRequired = 3,
		TransformFailed = 4,
		CopyCompressStreamNotAllowed = 5,
		NullPointerPassedToCompressStream = 6,
		CompressStreamReadSupportNotRequested = 7,
		CompressStreamWriteSupportNotRequested = 8,
		CannotWriteToClosedCompressStream = 9
	};
	
	virtual unsigned int GetType() const throw();
	virtual unsigned int GetSubType() const throw();
	virtual const char *what() const throw();
	virtual const std::string& GetMessage() const
	{
		return mMessage;
	}

private:
	unsigned int mSubType;
	std::string mMessage;
};

#endif // AUTOGEN_COMPRESSEXCEPTION_H
