11#ifndef INCGUARD_MGL_EVENT_REGISTER_LIST_H_1608699070
12#define INCGUARD_MGL_EVENT_REGISTER_LIST_H_1608699070
14#include <condition_variable>
43 bool Execute(
void *notifyArg)
noexcept;
48 bool IsRunning()
const noexcept;
49 bool IsRunning(
UniqueID id)
const noexcept;
50 bool IsSameThread()
const noexcept;
52 void ApplyTemporaryRegisterList()
noexcept;
53 void ApplyTemporaryUnregisterList()
noexcept;
54 bool IsRequestedUnregister(
UniqueID id)
noexcept;
57 ItemList _temporaryRegisterList;
60 std::atomic<std::thread::id> _currentThreadId;
61 std::mutex _activeListMutex;
62 std::mutex _temporaryListMutex;
64 std::condition_variable _syncExecute;
65 std::mutex _syncExecuteMutex;
イベントハンドルクラス
Definition mgl_event_handle.h:21
登録リスト
Definition mgl_event_register_list.h:36
void Unregister(Handle &handle) noexcept
リストから登録解除
Definition mgl_event_register_list.cc:61
RegisterList() noexcept
コンストラクタ
Definition mgl_event_register_list.cc:22
bool Register(STL::unique_ptr< RegisterItem > item) noexcept
リストに登録
Definition mgl_event_register_list.cc:36
bool Execute(void *notifyArg) noexcept
登録済みのイベントを実行
Definition mgl_event_register_list.cc:105
NotifyType
通知タイプ
Definition mgl_event_types.h:21
void(*)(void *callbackArg, void *notifyArg) CallbackFunction
イベントコールバック関数
Definition mgl_event_types.h:68
uintptr_t UniqueID
イベント通知のユニークID型
Definition mgl_event_types.h:65
std::list< T, Allocator< T > > list
std::listの代替
Definition mgl_stl_containers.h:47
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247
登録アイテム
Definition mgl_event_register_list.h:27
CallbackFunction callback
コールバック関数
Definition mgl_event_register_list.h:30
NotifyType type
通知タイプ
Definition mgl_event_register_list.h:29
void * callbackArg
コールバック関数に渡す引数
Definition mgl_event_register_list.h:31