acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
acme.h
1//
2// base_static_start.h
3// acme
4//
5// Created by camilo on 14/04/2021. 00:30 BRT <3TBS_!!
6//
7#pragma once
8
9
10#include "acme/prototype/prototype/pointer.h"
11#include "acme/parallelization/critical_section.h"
12#include "acme/prototype/time/time/time.h"
13
14namespace acme
15{
16
17
18 class singleton_pointer;
19
20
21 class CLASS_DECL_ACME acme
22 {
23 public:
24
25
26 //static ::acme::acme * s_p;
27
28
29 //::pointer < ::platform::platform > m_pplatform;
30 ::heap::management * m_pheapmanagement;
31
32 //::pointer < manual_reset_happening > m_pmanualresethappeningSystemTaskFinished;
33
34#if REFERENCING_DEBUGGING
35
36
37 ::referencing_debugging * m_preferencingdebugging;
38
39#endif
40
41 class ::time m_timeStart;
42
43
44
45
46 acme();
47 ~acme();
48
49
50#if defined(WINDOWS) && defined(UNICODE)
51
52 virtual void initialize_system(::i32 argc, wchar_t * argv[], wchar_t * envp[]);
53
54 virtual void initialize_system(hinstance hinstanceThis, hinstance hinstancePrev, wchar_t * pCmdLine, ::i32 nCmdShow);
55
56#endif
57
58 virtual void initialize_system(::i32 argc, char_pointer * argv, char_pointer * envp);
59
60
61#if REFERENCING_DEBUGGING
62
63 void initialize_referencing_debugging();
64// void dump_pending_releases();
65
66#endif
67
68 class ::time start_time();
69
70
71 virtual ::platform::platform * platform();
72 ::heap::management * heap() { return m_pheapmanagement; }
73
74 //virtual void on_system_before_destroy();
75
76 protected:
77
78 void acme_construct();
79 void acme_destruct();
80
81
82 //void acme_construct_platform_dependent();
83 //void acme_destruct_platform_dependent();
84
85
86 void initialize_memory_management();
87 void finalize_memory_management();
88
89
90 //void initialize_message_queue();
91 //void finalize_message_queue();
92
93
94 virtual void on_acme_before_destroy();
95
96
97 };
98
99
100 //class CLASS_DECL_ACME singleton
101 //{
102 //public:
103
104
105 // static acme * s_pacme;
106
107
108 // singleton();
109 // ~singleton();
110
111
112 // acme * operator ->() { return s_pacme; }
113
114
115 //};
116
117
118 CLASS_DECL_ACME ::acme::acme * get();
119
120
121} // namespace acme
122
123
124
Definition management.h:40
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32
include "thread/AutoLock.h"
Definition _forward_declaration.h:877