2 * Copyright (C) 2005 Casper S. Hornstrup
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 Exception ( const std::string
& message
);
27 Exception ( const char* format
,
32 void SetMessage ( const char* message
,
37 class InvalidOperationException
: public Exception
40 InvalidOperationException ( const char* filename
,
41 const int linenumber
);
42 InvalidOperationException ( const char* filename
,
49 class OutOfMemoryException
: public Exception
52 OutOfMemoryException ();
56 class FileNotFoundException
: public Exception
59 FileNotFoundException ( const std::string
& filename
);
64 class AccessDeniedException
: public Exception
67 AccessDeniedException ( const std::string
& filename
);
71 class InvalidBuildFileException
: public Exception
74 InvalidBuildFileException ( const std::string
& location
,
77 void SetLocationMessage ( const std::string
& location
,
81 InvalidBuildFileException ();
85 class XMLSyntaxErrorException
: public InvalidBuildFileException
88 XMLSyntaxErrorException ( const std::string
& location
,
94 class RequiredAttributeNotFoundException
: public InvalidBuildFileException
97 RequiredAttributeNotFoundException ( const std::string
& location
,
98 const std::string
& attributeName
,
99 const std::string
& elementName
);
103 class InvalidAttributeValueException
: public InvalidBuildFileException
106 InvalidAttributeValueException ( const std::string
& location
,
107 const std::string
& name
,
108 const std::string
& value
);
112 class BackendNameConflictException
: public Exception
115 BackendNameConflictException ( const std::string
& name
);
119 class UnknownBackendException
: public Exception
122 UnknownBackendException ( const std::string
& name
);
125 class UnknownModuleTypeException
: public InvalidBuildFileException
128 UnknownModuleTypeException ( const std::string
& location
,
133 class InvocationFailedException
: public Exception
136 InvocationFailedException ( const std::string
& command
,
142 #endif /* __EXCEPTION_H */