cdesktopenv/cde/programs/dtinfo/DtMmdb/StyleSheet/StyleSheetExceptions.h

159 lines
4.0 KiB
C++

/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these librararies and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $TOG: StyleSheetExceptions.h /main/4 1998/04/17 11:49:51 mgreess $ */
#ifndef _StyleSheetExceptions_h
#define _StyleSheetExceptions_h
#include "Exceptions.hh"
#include "SymTab.h"
#if defined(linux)
#define CASTEXCEPT (Exception*)
#define CASTBCEXCEPT (badCastException*)
#define CASTBEEXCEPT (badEvaluationException*)
#define CASTDPEXCEPT (docParserException*)
#define CASTDPUCEXCEPT (docParserUnexpectedCharacter*)
#define CASTDPUTEXCEPT (docParserUnexpectedTag*)
#define CASTDPUDEXCEPT (docParserUnexpectedData*)
#define CASTDPUEEXCEPT (docParserUnexpectedEof*)
#define CASTSSEXCEPT (StyleSheetException*)
#define CASTSSSEEXCEPT (StyleSheetSyntaxError*)
#define CASTUAEXCEPT (undefinedAttributeException*)
#define CASTUTEXCEPT (unknownTagException*)
#define CASTUVEXCEPT (undefinedVariableException*)
#else
#define CASTEXCEPT
#define CASTBCEXCEPT
#define CASTBEEXCEPT
#define CASTDPEXCEPT
#define CASTDPUCEXCEPT
#define CASTDPUTEXCEPT
#define CASTDPUDEXCEPT
#define CASTDPUEEXCEPT
#define CASTSSEXCEPT
#define CASTSSSEEXCEPT
#define CASTUAEXCEPT
#define CASTUTEXCEPT
#define CASTUVEXCEPT
#endif
class StyleSheetException : public Exception
{
public:
DECLARE_EXCEPTION(StyleSheetException, Exception);
virtual ~StyleSheetException();
};
class StyleSheetSyntaxError : public StyleSheetException
{
public:
DECLARE_EXCEPTION(StyleSheetSyntaxError, StyleSheetException);
};
class badEvaluationException : public StyleSheetException
{
public:
DECLARE_EXCEPTION(badEvaluationException, StyleSheetException);
virtual ~badEvaluationException();
};
class badCastException : public StyleSheetException
{
public:
DECLARE_EXCEPTION(badCastException, StyleSheetException);
};
class undefinedVariableException : public badEvaluationException
{
public:
DECLARE_EXCEPTION(undefinedVariableException, badEvaluationException);
undefinedVariableException(const Symbol &v)
: badEvaluationException(),
f_variable_name(v)
{}
private:
Symbol f_variable_name;
};
class undefinedAttributeException : public badEvaluationException
{
public:
DECLARE_EXCEPTION(undefinedAttributeException, badEvaluationException);
undefinedAttributeException(const Symbol &a)
: badEvaluationException(),
f_attribute_name(a)
{}
private:
Symbol f_attribute_name;
};
class docParserException : public Exception
{
public:
DECLARE_EXCEPTION(docParserException, Exception);
};
class unknownTagException : public docParserException
{
public:
DECLARE_EXCEPTION(unknownTagException, docParserException);
};
class docParserUnexpectedCharacter : public docParserException
{
public:
DECLARE_EXCEPTION(docParserUnexpectedCharacter, docParserException);
};
class docParserUnexpectedTag : public docParserException
{
public:
DECLARE_EXCEPTION(docParserUnexpectedTag, docParserException);
};
class docParserUnexpectedData : public docParserException
{
public:
DECLARE_EXCEPTION(docParserUnexpectedData, docParserException);
};
class docParserUnexpectedEof : public docParserException
{
public:
DECLARE_EXCEPTION(docParserUnexpectedEof, docParserException);
};
#endif /* _StyleSheetExceptions_h */
/* DO NOT ADD ANY LINES AFTER THIS #endif */