acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_synchronization_object.h
1#pragma once
2
3//
4//#ifdef WINDOWS
5//using hsynchronization = void *;
6//#endif
7
8
9//class CLASS_DECL_ACME synchronization_object :
10// virtual public particle
11//{
12//public:
13//
14//
15//#ifdef WINDOWS
16// hsynchronization m_hsync;
17//#endif
18// bool m_bOwner;
19//
20//#ifdef WINDOWS
21// synchronization_object() { m_hsync = nullptr; m_bOwner = true; }
22// synchronization_object(hsynchronization hsynchronization) : m_hsync(hsynchronization) { m_bOwner = true; }
23//#else
24// synchronization_object() { m_bOwner = true; }
25//#endif
26// ~synchronization_object() override;
27//
28//
29// // currently expected returned statuses:
30// // ::error_failed
31// // ::error_wait_timeout
32// // ::success
33// virtual ::e_status lock();
34// virtual ::e_status lock(const class ::wait & wait);
35//
36// virtual ::e_status wait();
37// virtual ::e_status wait(const class ::wait & wait);
38//
39// virtual void _lock();
40// virtual bool _lock(const class ::wait & wait);
41//
42// virtual void _wait();
43// virtual bool _wait(const class ::wait & wait);
44//
45// virtual bool is_locked() const;
46//
47// virtual void unlock();
48// virtual void unlock(::i32 /* lCount */, ::i32 * /* pPrevCount=nullptr */);
49//
50//
51// virtual void init_wait();
52// virtual void exit_wait();
53//
54//
55// virtual void acquire_ownership();
56// virtual void release_ownership();
57//
58//#ifdef WINDOWS
59// inline ::hsynchronization hsynchronization() const { return m_hsync; }
60//#endif
61//
62//
63//};
64
65//
66//class CLASS_DECL_ACME synchronization_lock :
67// virtual public synchronization_object
68//{
69//public:
70//
71//
72// ~synchronization_lock() override;
73//
74//
75//};
76
77