1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
//
// Generated by dtk
// Translation Unit: f_pc_create_req.cpp
//
#include "f_pc/f_pc_create_req.h"
#include "SSystem/SComponent/c_malloc.h"
#include "f_pc/f_pc_base.h"
#include "f_pc/f_pc_create_iter.h"
#include "f_pc/f_pc_deletor.h"
#include "f_pc/f_pc_executor.h"
#include "f_pc/f_pc_layer.h"
#include "f_pc/f_pc_layer_iter.h"
/* 8003CD0C-8003CD28 .text fpcCtRq_isCreatingByID__FP10create_tagPUi */
BOOL fpcCtRq_isCreatingByID(create_tag* i_createTag, fpc_ProcID* i_procID) {
create_request* pReq = static_cast<create_request*>(i_createTag->base.mpTagData);
if (pReq->mBsPcId == *i_procID) {
return TRUE;
} else {
return FALSE;
}
}
/* 8003CD28-8003CD60 .text fpcCtRq_IsCreatingByID__FUi */
BOOL fpcCtRq_IsCreatingByID(fpc_ProcID i_id) {
return fpcCtIt_Judge((fpcLyIt_JudgeFunc)fpcCtRq_isCreatingByID, &i_id) != NULL ? TRUE : FALSE;
}
/* 8003CD60-8003CD9C .text fpcCtRq_CreateQTo__FP14create_request */
void fpcCtRq_CreateQTo(create_request* i_request) {
fpcCtTg_CreateQTo(&i_request->base);
fpcLy_CreatedMesg(i_request->mpLayer);
fpcLy_CancelQTo(&i_request->mMtdTg);
}
/* 8003CD9C-8003CDE0 .text fpcCtRq_ToCreateQ__FP14create_request */
void fpcCtRq_ToCreateQ(create_request* i_request) {
fpcLy_CreatingMesg(i_request->mpLayer);
fpcLy_ToCancelQ(i_request->mpLayer, &i_request->mMtdTg);
fpcCtTg_ToCreateQ(&i_request->base);
}
/* 8003CDE0-8003CE54 .text fpcCtRq_Delete__FP14create_request */
BOOL fpcCtRq_Delete(create_request* i_request) {
fpcCtRq_CreateQTo(i_request);
if (i_request->mpCtRqMtd != NULL && fpcMtd_Method(i_request->mpCtRqMtd->mpDelete, i_request) == FALSE) {
return FALSE;
} else {
if (i_request->mpRes) {
i_request->mpRes->mpCtRq = NULL;
}
cMl::free(i_request);
return TRUE;
}
}
/* 8003CE54-8003CEEC .text fpcCtRq_Cancel__FP14create_request */
BOOL fpcCtRq_Cancel(create_request* i_request) {
base_process_class* pProc;
if (i_request != NULL && !i_request->mbIsCancelling) {
i_request->mbIsCancelling = TRUE;
pProc = i_request->mpRes;
if (pProc != NULL && !fpcDt_Delete(pProc))
return FALSE;
if (i_request->mpCtRqMtd != NULL && !fpcMtd_Method(i_request->mpCtRqMtd->mpCancel, i_request))
return FALSE;
return fpcCtRq_Delete(i_request);
} else {
return TRUE;
}
}
/* 8003CEEC-8003CF08 .text fpcCtRq_IsDoing__FP14create_request */
BOOL fpcCtRq_IsDoing(create_request* i_request) {
if (i_request != NULL)
return i_request->mbIsCreating;
else
return FALSE;
}
/* 8003CF08-8003CFC4 .text fpcCtRq_Do__FP14create_request */
BOOL fpcCtRq_Do(create_request* i_request) {
cPhs_State phase = cPhs_COMPLEATE_e;
if (i_request->mpCtRqMtd != NULL) {
cPhs__Handler pHandler = i_request->mpCtRqMtd->mpHandler;
if (pHandler != NULL) {
i_request->mbIsCreating = TRUE;
phase = pHandler(i_request);
i_request->mbIsCreating = FALSE;
}
}
switch (phase) {
case cPhs_COMPLEATE_e: {
BOOL success = fpcEx_ToExecuteQ(i_request->mpRes);
if (success == FALSE)
return fpcCtRq_Cancel(i_request);
else
return fpcCtRq_Delete(i_request);
}
case cPhs_STOP_e:
case cPhs_ERROR_e:
return fpcCtRq_Cancel(i_request);
}
return TRUE;
}
/* 8003CFC4-8003CFF0 .text fpcCtRq_Handler__Fv */
BOOL fpcCtRq_Handler() {
return fpcCtIt_Method((fpcCtIt_MethodFunc)fpcCtRq_Do, NULL);
}
/* 8003CFF0-8003D078 .text fpcCtRq_Create__FP11layer_classUlP27create_request_method_class */
create_request* fpcCtRq_Create(layer_class* i_layer, u32 i_size, create_request_method_class* i_CtRqMethods) {
create_request* pReq = (create_request*)cMl::memalignB(-4, i_size);
if (pReq != NULL) {
fpcCtTg_Init(&pReq->base, pReq);
fpcMtdTg_Init(&pReq->mMtdTg, (process_method_tag_func)fpcCtRq_Cancel, pReq);
pReq->mpLayer = i_layer;
pReq->mpCtRqMtd = i_CtRqMethods;
pReq->mBsPcId = fpcBs_MakeOfId();
pReq->mpRes = NULL;
pReq->mbIsCancelling = FALSE;
fpcCtRq_ToCreateQ(pReq);
}
return pReq;
}
|