
// Auto-generated file -- do not edit

#ifndef AUTOGEN_COMMONEXCEPTION_H
#define AUTOGEN_COMMONEXCEPTION_H

#include "BoxException.h"

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

	enum
	{
		Internal = 0,
		AssertFailed = 1,
		OSFileOpenError = 2,
		OSFileCloseError = 3,
		FileAlreadyClosed = 4,
		BadArguments = 5,
		ConfigNoKey = 6,
		ConfigNoSubConfig = 7,
		GetLineNoHandle = 8,
		OSFileError = 9,
		GetLineEOF = 10,
		ConfigBadIntValue = 11,
		GetLineTooLarge = 12,
		NotSupported = 13,
		OSFileReadError = 14,
		OSFileWriteError = 15,
		FileClosed = 16,
		IOStreamBadSeekType = 17,
		CantWriteToPartialReadStream = 18,
		CollectInBufferStreamNotInCorrectPhase = 19,
		NamedLockAlreadyLockingSomething = 20,
		NamedLockNotHeld = 21,
		StreamableMemBlockIncompleteRead = 22,
		MemBlockStreamNotSupported = 23,
		StreamDoesntHaveRequiredProperty = 24,
		CannotWriteToReadGatherStream = 25,
		ReadGatherStreamAddingBadBlock = 26,
		CouldNotLookUpUsername = 27,
		CouldNotRestoreProcessUser = 28,
		CouldNotChangeProcessUser = 29,
		RegexNotSupportedOnThisPlatform = 30,
		BadRegularExpression = 31,
		CouldNotCreateKQueue = 32,
		KEventErrorAdd = 33,
		KEventErrorWait = 34,
		KEventErrorRemove = 35,
		KQueueNotSupportedOnThisPlatform = 36,
		IOStreamGetLineNotEnoughDataToIgnore = 37,
		TempDirPathTooLong = 38,
		ArchiveBlockIncompleteRead = 39,
		AccessDenied = 40
	};
	
	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_COMMONEXCEPTION_H
