mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-02 01:30:00 -04:00
4df8ccc871
* 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
43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#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;
|
|
}
|
|
}
|
|
}
|
|
}
|