PStack  2.0
Stack trace printer for MSVC and GCC binaries
psystem_ns.hpp
Go to the documentation of this file.
1 // ===-- include/psystem/psystem_ns.hpp ------------------- -*- C++ -*- --=== //
2 // Copyright (c) 2014 Matt Bisson. All rights reserved.
3 
33 #pragma once
34 #ifndef PSYSTEM_PSYSTEM_NS_HPP
35 #define PSYSTEM_PSYSTEM_NS_HPP
36 
37 #include "framework/platform.hpp"
38 
42 
44 #define PSYSTEM_APP_NAME "PSystem (Process-Examination Framework)"
45 
47 #ifndef PSYSTEM_MAJOR_VERSION
48 # define PSYSTEM_MAJOR_VERSION 2
49 #endif
50 
53 #ifndef PSYSTEM_MINOR_VERSION
54 # define PSYSTEM_MINOR_VERSION 0
55 #endif
56 
58 #ifndef PSYSTEM_PATCH_LEVEL
59 # define PSYSTEM_PATCH_LEVEL 0
60 #endif
61 
65 #ifndef PSYSTEM_BUILD_NUMBER
66 # define PSYSTEM_BUILD_NUMBER 0
67 #endif
68 
70 #if (PSYSTEM_BUILD_NUMBER == 0)
71 # define _PRIVATE_BUILD 1
72 #endif
73 
75 
76 // We will inlcude this from all sources -- including the resource-file
77 // compiler -- so let's make sure it compiles.
78 #ifndef RC_INVOKED
79 
88 namespace psystem
89 {
90 
103 void initialize_psystem();
104 
106 
113 enum class log_level
114 {
115  none = 0,
116  error = none | (1 << 0),
117  info = error | (1 << 1),
118  debug = error | (1 << 2)
119 };
120 
121 // Validate our math on all platforms...
122 static_assert(
124  "More verbose logging should have higher values.");
125 
126 } // namespace psystem
127 
128 #endif // RC_INVOKED
129 
130 #endif // PSYSTEM_PSYSTEM_NS_HPP
In-depth debug logging.
Master header file for Platform-wide declarations.
log_level
Establish a list of possible logging detail levels.
Definition: psystem_ns.hpp:113
void initialize_psystem()
Initialize any resources that the psystem functionality needs.
Definition: psystem_ns.cpp:43
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
Information logging as well as error.
Only log errors.