acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
aaa_gen_1.h
1
2
// other global state
3
class
push_routing_frame
4
{
5
protected
:
6
frame_window* pOldRoutingFrame;
7
_WINDOWS_DEFINITION_THREAD_STATE* pThreadState;
8
push_routing_frame* pOldPushRoutingFrame;
9
10
public
:
11
explicit
push_routing_frame(frame_window* pNewRoutingFrame)
12
{
13
pThreadState = ::windows_definition::GetThreadState();
14
pOldPushRoutingFrame = pThreadState->m_pPushRoutingFrame;
15
pOldRoutingFrame = pThreadState->m_pRoutingFrame;
16
pThreadState->m_pRoutingFrame = pNewRoutingFrame;
17
pThreadState->m_pPushRoutingFrame =
this
;
18
}
19
~push_routing_frame()
20
{
21
if
(pThreadState !=
nullptr
)
22
{
23
ASSERT( pThreadState->m_pPushRoutingFrame ==
this
);
24
pThreadState->m_pRoutingFrame = pOldRoutingFrame;
25
pThreadState->m_pPushRoutingFrame = pOldPushRoutingFrame;
26
}
27
}
28
void
pop()
29
{
30
ENSURE( pThreadState !=
nullptr
);
31
ASSERT( pThreadState->m_pPushRoutingFrame ==
this
);
32
pThreadState->m_pRoutingFrame = pOldRoutingFrame;
33
pThreadState->m_pPushRoutingFrame = pOldPushRoutingFrame;
34
pThreadState =
nullptr
;
35
}
36
};
operating_system
ios
aaa_gen_1.h
Generated by
1.17.0