WSF
ErrorManager.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2019 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef ERRORMANAGER_HPP
13#define ERRORMANAGER_HPP
14
15#include "usmtf_export.h"
16
17#include <iostream>
18
19#include "USMTF_Exceptions.hpp"
20
21namespace usmtf
22{
26class USMTF_EXPORT ErrorManager
27{
28public:
29 virtual ~ErrorManager() = default;
30 bool HasErrors() const noexcept;
31 void LogErrors(std::ostream& aOut) const noexcept;
32 const std::vector<ValidationError>& GetErrors() const;
33
34protected:
35 void AddError(const ValidationError& aError) noexcept;
36 void AddError(const std::string& aFailureReason,
37 const std::string& aValueValidatied,
38 const std::string& aOptionalSuggestion = "") noexcept;
39 void AddError(const std::string& aErrorMessage) noexcept;
40 void AddErrors(const std::vector<ValidationError>& aErrors) noexcept;
41 void ClearErrors() noexcept;
42
43private:
44 std::vector<ValidationError> mErrors;
45};
46} // namespace usmtf
47#endif
Definition ErrorManager.hpp:27
bool HasErrors() const noexcept
Definition ErrorManager.cpp:18
void LogErrors(std::ostream &aOut) const noexcept
Definition ErrorManager.cpp:23
const std::vector< ValidationError > & GetErrors() const
Definition ErrorManager.cpp:31
void ClearErrors() noexcept
Definition ErrorManager.cpp:58
virtual ~ErrorManager()=default
void AddError(const ValidationError &aError) noexcept
Definition ErrorManager.cpp:36
void AddErrors(const std::vector< ValidationError > &aErrors) noexcept
Definition ErrorManager.cpp:53
Validation Errors, used heavily in anything thats Validatable.
Definition USMTF_Exceptions.hpp:63
Template specialization for wsf::comm::Address. Allows usage of Address in std::unordered_map/set.
Definition WsfCommAddress.hpp:185
Definition Acmid.cpp:17
Copyrights Multiple, All Rights Reserved