2 * Copyright (C) 2015 Samsung Electronics Co., Ltd All Rights Reserved
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License version 2.1 as published by the Free Software Foundation.
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
13 * You should have received a copy of the GNU Lesser General Public
14 * License along with this library; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 * @author Mateusz Malicki (m.malicki2@samsung.com)
21 * @brief lxcpp's exceptions definitions
24 #ifndef LXCPP_EXCEPTION_HPP
25 #define LXCPP_EXCEPTION_HPP
32 * Base class for exceptions in lxcpp
34 struct Exception: public std::runtime_error {
35 explicit Exception(const std::string& message)
36 : std::runtime_error(message) {}
39 struct NotImplementedException: public Exception {
40 explicit NotImplementedException(const std::string& message = "Functionality not yet implemented")
41 : Exception(message) {}
44 struct ProcessSetupException: public Exception {
45 explicit ProcessSetupException(const std::string& message = "Error while setting up a process")
46 : Exception(message) {}
49 struct FileSystemSetupException: public Exception {
50 explicit FileSystemSetupException(const std::string& message = "Error during a file system operation")
51 : Exception(message) {}
54 struct EnvironmentSetupException: public Exception {
55 explicit EnvironmentSetupException(const std::string& message = "Error during handling environment variables")
56 : Exception(message) {}
59 struct CredentialSetupException: public Exception {
60 explicit CredentialSetupException(const std::string& message = "Error during handling environment variables")
61 : Exception(message) {}
64 struct CapabilitySetupException: public Exception {
65 explicit CapabilitySetupException(const std::string& message = "Error during a capability operation")
66 : Exception(message) {}
69 struct UtilityException: public Exception {
70 explicit UtilityException(const std::string& message = "Error during an utility operation")
71 : Exception(message) {}
74 struct TerminalException: public Exception {
75 explicit TerminalException(const std::string& message = "Error during a terminal operation")
76 : Exception(message) {}
79 struct BadArgument: public Exception {
80 explicit BadArgument(const std::string& message = "Bad argument passed")
81 : Exception(message) {}
84 struct NoSuchValue: public Exception {
85 explicit NoSuchValue(const std::string& message = "Value not found")
86 : Exception(message) {}
89 struct NetworkException : public Exception {
90 explicit NetworkException (const std::string& message = "Error during setting up a network")
91 : Exception(message) {}
94 struct ConfigureException: public Exception {
95 explicit ConfigureException(const std::string& message = "Error while configuring a container")
96 : Exception(message) {}
99 struct ProvisionException: public Exception {
100 explicit ProvisionException(const std::string& message = "Provision error")
101 : Exception(message) {}
106 #endif // LXCPP_EXCEPTION_HPP