softwarecontainer  0.18.0-739e8d7 2017-05-04
configerror.h
1 /*
2  * Copyright (C) 2016-2017 Pelagicore AB
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR
11  * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
12  * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
13  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
14  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
15  * SOFTWARE.
16  *
17  * For further information see LICENSE
18  */
19 
20 #pragma once
21 
22 #include "softwarecontainererror.h"
23 
24 
25 namespace softwarecontainer {
26 
28 {
29 public:
30  ConfigError():
31  m_message("SoftwareContainer configuration error")
32  {
33  }
34 
35  ConfigError(const std::string &message):
36  m_message(message)
37  {
38  }
39 
40  virtual const char *what() const throw()
41  {
42  return m_message.c_str();
43  }
44 
45 protected:
46  std::string m_message;
47 };
48 
49 
57 {
58 public:
60  ConfigError("Configuration error - fatal internal error in config code")
61  {
62  }
63 
64  ConfigInternalError(const std::string &message):
65  ConfigError(message)
66  {
67  }
68 };
69 
70 
72 {
73 public:
75  ConfigError("Configuration error - missing config dependency")
76  {
77  }
78 
79  ConfigDependencyError(const std::string &message):
80  ConfigError(message)
81  {
82  }
83 };
84 
85 
87 {
88 public:
90  ConfigError("Configuration error - missing mandatory config")
91  {
92  }
93 
94  ConfigMandatoryError(const std::string &message):
95  ConfigError(message)
96  {
97  }
98 };
99 
100 
105 {
106 public:
108  ConfigError("Configuration error - unknown config")
109  {
110  }
111 
112  ConfigUnknownError(const std::string &message):
113  ConfigError(message)
114  {
115  }
116 };
117 
118 
123 {
124 public:
125  ConfigFileError():
126  ConfigError("Configuration error - config file error")
127  {
128  }
129 
130  ConfigFileError(const std::string &message):
131  ConfigError(message)
132  {
133  }
134 };
135 
136 
141 {
142 public:
144  ConfigError("Configuration error - wrong group and/or key")
145  {
146  }
147 
148  ConfigNotFoundError(const std::string &message):
149  ConfigError(message)
150  {
151  }
152 };
153 
154 } // namespace softwarecontainer
An error occured in a Glib operation.
Definition: configerror.h:122
A config is found which is not defined in ConfigDefinition.
Definition: configerror.h:104
A requested config item could not be found in any of the config sources.
Definition: configerror.h:140
Developers guide to adding a config item:
An error occured which is an internal error in the config code.
Definition: configerror.h:56