acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
error_code.h
1//
2// error_code.hpp
3// acme
4//
5// Created by Camilo Sasuke Thomas Borregaard Soerensen on 29/09/22 ~22:12
6// Copyright (c) 2022 Camilo Sasuke Thomas Borregaard Soerensen. All rights reserved.
7//
8#pragma once
9
10
11#include "acme/constant/error_code_type.h"
12
13
14class c_errno;
15
16#ifdef WINDOWS
17namespace windows { class last_error; }
18#endif
19
20
21class CLASS_DECL_ACME error_code
22{
23public:
24
25
26 enum_error_code_type m_etype;
27
28
29 ::i64 m_iOsError;
30
31
32 error_code() :m_etype(e_error_code_type_none), m_iOsError(0) {}
33 error_code(const error_code & error_code) : m_etype(error_code.m_etype), m_iOsError(error_code.m_etype) {}
34 error_code(const c_errno & cerrno);
35#ifdef WINDOWS
36 error_code(const ::windows::last_error & lasterror);
37#endif
38 error_code(enum_error_code_type etype, ::i64 iOsError) :m_etype(etype), m_iOsError(iOsError) {}
39
40
41 bool is_clear() const;
42 //void get_message(::string & strMessage) const;
43
44 bool is_set() const;
45
46 ::string get_error_message() const;
47
48 ::e_status as_status() const;
49
50};
51
52namespace operating_system
53{
54
55
56 CLASS_DECL_ACME ::error_code last_error_code();
57
58
59} // namespace operating_system
60
61//inline error_code errno_error_code(::i32 iErrNo)
62//{
63//
64// return { e_error_code_type_errno, iErrNo };
65//
66//}
67
68
69
Class with static functions to get information about an error.
Definition c_errno.h:14
Definition e_status.h:30
Definition last_error.h:10