acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
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
14
class
c_errno
;
15
16
#ifdef WINDOWS
17
namespace
windows {
class
last_error
; }
18
#endif
19
20
21
class
CLASS_DECL_ACME error_code
22
{
23
public
:
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
52
namespace
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
c_errno
Class with static functions to get information about an error.
Definition
c_errno.h:14
e_status
Definition
e_status.h:30
windows::last_error
Definition
last_error.h:10
operating_system
error_code.h
Generated by
1.17.0