diff -r 000000000000 -r f58d6ec98e88 aknlayoutcompiler/inc/LayoutCompilerErr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aknlayoutcompiler/inc/LayoutCompilerErr.h Thu Dec 17 09:14:18 2009 +0200 @@ -0,0 +1,80 @@ +/* +* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + +#ifndef LAYOUTCOMPILERERR_H +#define LAYOUTCOMPILERERR_H + +#include +#include +#include +using namespace CdlCompilerToolkit; +using namespace std; + +/** +* LayoutCompilerErr +* Base class for exceptions in the layout compiler +*/ +class LayoutCompilerErr : public CdlCompilerToolkitErr + {}; + +/** +* NotFoundErr +* A "not found" exception, which takes a string to explain what was not found +*/ +class NotFoundErr : public LayoutCompilerErr + { +public: + NotFoundErr(const string& aName) : iName(aName) {} + void Show(ostream& stream) const; +private: + string iName; + }; + +/** +* GeneralErr +* A general compiler error, which takes a string to explain what the error was +*/ +class GeneralErr : public LayoutCompilerErr + { +public: + GeneralErr(const string& aMessage) : iMessage(aMessage) {} + void Show(ostream& stream) const; +private: + string iMessage; + }; + +string StreamLoc(const istream& stream, const string& msg, int before, int after); + + +/** +* LayoutProcessArgsErr +* A templated exception class that indicated an exception in the command line parameter +* processing in the class in which it is instantiated on. +*/ +template +class LayoutProcessArgsErr : public LayoutCompilerErr + { + void Show(ostream& aStream) const { T::ShowHelp(aStream); } + }; + + + +#endif + +// End of File