(Welcome to teach, penguin: 2172243813 More information is in www.ttkmwl.com)
First of all, the name CQUEUESERVICEEVENT is very tempting ,,, you feel that he is an event, but it is not. Its actual function should be an event queue with a packing function ,,, or a specified Event Queue Delivery Event like a specified EventQueue. From the interface point of view, this Dongdong can submit a timeRevent
Should hold a CQUEUESERVICE pointer itself, so it is not responsible for data management, but is only responsible for packaging and added to the CQUEUESERVICE instance.
First look at the timer event: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Hmm, the quality of the code is very high ,,,
The
entrance has an assertion to help expose errors during the debug stage. After the assertion, the if statement is judged again, so that even if the release version is wrong, it will not be missed ,,,,,,,,,
About the encapsulation of the incident, it is actually stratified here ,,,
Here is the first floor:
1struct tagDataHead
2 {
3
4
5