acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
message_queue.h
1#pragma once
2
3
4#include "acme/operating_system/message.h"
5
6
7using message_array = array < MESSAGE >;
8
9
10//#include "acme/prototype/prototype/matter.h"
11#include "acme/parallelization/manual_reset_happening.h"
12
13
14class CLASS_DECL_ACME message_queue :
15 virtual public particle
16{
17public:
18
19 message_array m_messagea;
20 ::pointer < manual_reset_happening > m_phappeningNewMessage;
21 itask m_itask;
22 bool m_bQuit;
23
24
25 message_queue();
26 ~message_queue() override;
27
28
29 void on_initialize_particle() override;
30
31
32 bool peek_message(MESSAGE * pMsg, const ::operating_system::window & operatingsystemwindow, ::u32 wMsgFilterMin, ::u32 wMsgFilterMax, bool bRemoveMessage);
33 ::e_status get_message(MESSAGE * pMsg, const ::operating_system::window & operatingsystemwindow, ::u32 wMsgFilterMin, ::u32 wMsgFilterMax, const class time & time = ::time::infinity());
34 void post_message(const ::operating_system::window & operatingsystemwindow, ::user::enum_message eusermessage, ::wparam wparam, ::lparam lparam);
35 void post_message(const MESSAGE & message);
36
37 void kick_idle() override;
38
39
40};
41
42
43//CLASS_DECL_ACME message_queue * aaa_get_message_queue(itask atom, bool bCreate);
44//CLASS_DECL_ACME void aaa_clear_message_queue(itask idthread);
45
46void _c_simple_message_loop();
47
48
49
Definition e_status.h:30
Definition types.h:93
Definition lparam.h:9
Definition aaa_time.h:13
Definition wparam.h:10
Definition message.h:13