Babel  1
The voip software that only works on your local network
Loading...
Searching...
No Matches
Invalid.hpp
Go to the documentation of this file.
1/*
2** EPITECH PROJECT, 2024
3** rtype (Workspace)
4** File description:
5** Invalid.hpp
6*/
7
14#pragma once
15
16#include <string>
17#include <exception>
18
19#include "Recoded.hpp"
20#include "Constants.hpp"
21
22namespace CustomExceptions
23{
24
28 class InvalidIp : public std::exception {
29 public:
35 InvalidIp(const std::string &error = "");
39 ~InvalidIp();
44 const char *what() const noexcept;
45
46 private:
47 std::string _msg;
48 const char *_buffer;
49 };
50
54 class InvalidPort : public std::exception {
55 public:
61 InvalidPort(const std::string &error = "");
70 const char *what() const noexcept;
71
72 private:
73 std::string _msg;
74 const char *_buffer;
75 };
76
77
81 class InvalidType : public std::exception {
82 public:
88 InvalidType(const std::string &extraDetails = "");
97 const char *what() const noexcept;
98
99 private:
100 std::string _msg;
101 const char *_buffer;
102 };
103
107 class InvalidUsername : public std::exception {
108 public:
114 InvalidUsername(const std::string &error = "");
123 const char *what() const noexcept;
124
125 private:
126 std::string _msg;
127 const char *_buffer;
128 };
129
133 class InvalidOperation : public std::exception {
134 public:
140 InvalidOperation(const std::string &error = "");
149 const char *what() const noexcept;
150
151 private:
152 std::string _msg;
153 const char *_buffer;
154 };
155
159 class InvalidChoice : public std::exception {
160 public:
166 InvalidChoice(const std::string &error = "");
175 const char *what() const noexcept;
176
177 private:
178 std::string _msg;
179 const char *_buffer;
180 };
181
185 class InvalidDuration : public std::exception {
186 public:
194 InvalidDuration(const std::string &duration = "", const std::string &min = "", const std::string &max = "");
203 const char *what() const noexcept;
204
205 private:
206 std::string _msg;
207 const char *_buffer;
208 };
209
213 class InvalidNumber : public std::exception {
214 public:
222 InvalidNumber(const std::string &number = "", const std::string &min = "", const std::string &max = "");
231 const char *what() const noexcept;
232
233 private:
234 std::string _msg;
235 const char *_buffer;
236 };
237
241 class InvalidTOML : public std::exception {
242 public:
249 InvalidTOML(const std::string &path = "", const std::string &error = "");
253 ~InvalidTOML();
258 const char *what() const noexcept;
259
260 private:
261 std::string _msg;
262 const char *_buffer;
263 };
264
268 class InvalidTOMLKeyType : public std::exception {
269 public:
278 InvalidTOMLKeyType(const std::string &tomlPath = "", const std::string &tomlKey = "", const std::string &currentType = "", const std::string &expectedType = "");
287 const char *what() const noexcept;
288
289 private:
290 std::string _msg;
291 const char *_buffer;
292 };
293
294}
Defines various constants used throughout the project.
Aggregates headers from the Recoded folder.
Exception class for invalid operations.
Definition Invalid.hpp:159
~InvalidChoice()
Destroy the InvalidChoice object.
Definition Invalid.cpp:114
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:116
InvalidChoice(const std::string &error="")
Construct a new InvalidChoice object.
Definition Invalid.cpp:105
Exception class for invalid durations.
Definition Invalid.hpp:185
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:141
~InvalidDuration()
Destroy the InvalidDuration object.
Definition Invalid.cpp:139
InvalidDuration(const std::string &duration="", const std::string &min="", const std::string &max="")
Construct a new InvalidDuration object.
Definition Invalid.cpp:121
Exception class for invalid IP addresses.
Definition Invalid.hpp:28
~InvalidIp()
Destroy the InvalidIp object.
Definition Invalid.cpp:31
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:33
InvalidIp(const std::string &error="")
Construct a new InvalidIp object.
Definition Invalid.cpp:18
Exception class for invalid durations.
Definition Invalid.hpp:213
~InvalidNumber()
Destroy the InvalidNumber object.
Definition Invalid.cpp:164
InvalidNumber(const std::string &number="", const std::string &min="", const std::string &max="")
Construct a new InvalidNumber object.
Definition Invalid.cpp:146
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:166
Exception class for invalid operations.
Definition Invalid.hpp:133
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:100
~InvalidOperation()
Destroy the InvalidOperation object.
Definition Invalid.cpp:98
InvalidOperation(const std::string &error="")
Construct a new InvalidOperation object.
Definition Invalid.cpp:89
Exception class for invalid port numbers.
Definition Invalid.hpp:54
~InvalidPort()
Destroy the InvalidPort object.
Definition Invalid.cpp:47
InvalidPort(const std::string &error="")
Construct a new InvalidPort object.
Definition Invalid.cpp:38
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:49
Exception class for invalid TOML key types.
Definition Invalid.hpp:268
InvalidTOMLKeyType(const std::string &tomlPath="", const std::string &tomlKey="", const std::string &currentType="", const std::string &expectedType="")
Construct a new InvalidTOMLKeyType object.
Definition Invalid.cpp:186
~InvalidTOMLKeyType()
Destroy the InvalidTOMLKeyType object.
Definition Invalid.cpp:200
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:202
Exception class for invalid TOML files.
Definition Invalid.hpp:241
InvalidTOML(const std::string &path="", const std::string &error="")
Construct a new InvalidTOML object.
Definition Invalid.cpp:171
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:181
~InvalidTOML()
Destroy the InvalidTOML object.
Definition Invalid.cpp:179
Exception class for invalid types in std::any.
Definition Invalid.hpp:81
InvalidType(const std::string &extraDetails="")
Construct a new InvalidType object.
Definition Invalid.cpp:54
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:66
~InvalidType()
Destroy the InvalidType object.
Definition Invalid.cpp:64
Exception class for invalid usernames.
Definition Invalid.hpp:107
InvalidUsername(const std::string &error="")
Construct a new InvalidUsername object.
Definition Invalid.cpp:71
const char * what() const noexcept
Retrieves the error message.
Definition Invalid.cpp:84
~InvalidUsername()
Destroy the InvalidUsername object.
Definition Invalid.cpp:82