acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
handler.h
1// From event_handler to handler at prototype_subject on day after ThomasBirthday2021 05:05 BRT
2// From user namespace to global at apex by camilo on day after ThomasBirthday2021 04:36 BRT
3// From aura by camilo on ThomasBirthday2021 20:00 BRT
4//
5// a recreation(from control_event_listener) by camilo on 28/06/2021 22:23 BRT <3ThomasBS_!!
6//
7// reengaged on 2024-10-25 02:38 <3ThomasBorregaardSorensen!!
8//#pragma once
9#pragma once
10
11
12#include "acme/prototype/collection/pointer_array.h"
13
14
15namespace handler
16{
17
18
19 // ThomasBorregaardSorensen!! Like handlers
20 class CLASS_DECL_ACME handler :
21 virtual public ::matter
22 {
23 protected:
24
25
26 ::pointer_array_base < ::request > m_requestaPosted;
27 ::pointer_array_base < ::request > m_requestaHistory;
28 ::pointer < ::manual_reset_happening > m_pmanualresethappeningMainLoop;
29
30
31 public:
32
33
34
35 //Creatable(task);
36 bool m_bReadyToAttendRequests;
37 //bool m_bAutoRelease : 1;
38 union
39 {
40
41
42 struct
43 {
44
45
46 bool m_bHandleRequest : 1;
47
48
49 };
50
51
52 ::u64 m_hnHandlerFlag;
53
54
55 };
56
57
58 ::pointer < ::request > m_prequestHandler;
59
60 ::pointer < ::request > m_prequestHandling;
61
62 ::pointer < ::request > m_prequestBeingAttended;
63
64 ::payload m_payloadFile;
65
66
67 handler();
68 ~handler() override;
69
70
71 void on_initialize_particle() override;
72
73 virtual void update_new_main_loop_happening();
74 virtual void on_new_main_loop_happening_creation();
75
76 void destroy() override;
77
78 virtual ::manual_reset_happening * new_main_loop_happening();
79
80 virtual bool has_main_loop_happening();
81
82 virtual void defer_reset_main_loop_happening();
83
84 virtual void post_request(::request * prequest);
85
86 //virtual ::request * pick_next_posted_request();
87
88 virtual bool pick_next_posted_request();
89
90 virtual bool handle_next_posted_request();
91
92 virtual bool contains(::request * prequest) const;
93
94 virtual string command_line_text() const;
95
96 virtual bool on_idle();
97 // ThomasBorregaardSorensen!! Like handlers
98 //virtual void call(const enum_message, ::i64 iData = 0, ::matter * pmatter = nullptr);
99 //virtual void call(const enum_id, ::i64 iData = 0, ::matter* pmatter = nullptr);
100 ::lresult call_message(const ::user::enum_message & emessage, ::wparam wparam = {}, ::lparam lparam = {}, ::particle * pparticle = nullptr) override;
101
102
103 // ThomasBorregaardSorensen!! Like handlers
104 using ::matter::handle;
105 virtual void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
106 virtual void handle(::message::message * pmessage);
107 virtual void handle(::request * prequest);
108
109 void call_request(::request* prequest) override;
110
111 void request(::request * prequest) override;
112
113 virtual bool _handle_uri(const ::block & blockUri);
114 virtual bool _handle_call(::payload & payload, const ::block & blockObject, const ::block & blockMember, ::property_set & propertyset);
115
116
117
118 };
119
120
121} // namespace handler
122
123
Definition handler_context.h:9
Definition lparam.h:9
Definition payload.h:54
Definition property_set.h:512
Definition topic.h:17
Definition wparam.h:10