mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-18 06:15:20 -04:00
Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}
* Update configure.py and project.py for new libs structure
* Refactor `#include <dolphin/x.h>` -> `<x.h>`
* Remove `__REVOLUTION_SDK__` forwards from dolphin
* Fix dolphin/ references in revolution
* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`
* Always build TRK against dolphin headers
* Resolve revolution SDK header resolution issues
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/JAudio2/JASCallback.h"
|
||||
#include "JSystem/JAudio2/JASCriticalSection.h"
|
||||
|
||||
bool JASCallbackMgr::regist(JASCallback* callback, void* argument) {
|
||||
JASCriticalSection criticalSection;
|
||||
for (int i = 0; i < NUM_CALLBACKS; i++) {
|
||||
if (callbacks_[i].callback_ == NULL) {
|
||||
callbacks_[i].callback_ = callback;
|
||||
callbacks_[i].arg_ = argument;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int JASCallbackMgr::reject(JASCallback* callback, void* argument) {
|
||||
int rejectNum = 0;
|
||||
JASCriticalSection criticalSection;
|
||||
for (int i = 0; i < NUM_CALLBACKS; i++) {
|
||||
if (callbacks_[i].callback_ == callback && callbacks_[i].arg_ == argument) {
|
||||
callbacks_[i].callback_ = NULL;
|
||||
callbacks_[i].arg_ = NULL;
|
||||
rejectNum++;
|
||||
}
|
||||
}
|
||||
return rejectNum;
|
||||
}
|
||||
|
||||
void JASCallbackMgr::callback() {
|
||||
for (int i = 0; i < NUM_CALLBACKS; i++) {
|
||||
if (callbacks_[i].callback_) {
|
||||
s32 result = callbacks_[i].callback_(callbacks_[i].arg_);
|
||||
if (result < 0) {
|
||||
callbacks_[i].callback_ = NULL;
|
||||
callbacks_[i].arg_ = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user