38 changed files with 341 additions and 298 deletions
-
44src/core/hle/kernel/k_readable_event.cpp
-
42src/core/hle/kernel/k_readable_event.h
-
3src/core/hle/kernel/k_synchronization_object.cpp
-
1src/core/hle/kernel/k_synchronization_object.h
-
34src/core/hle/kernel/k_writable_event.cpp
-
40src/core/hle/kernel/k_writable_event.h
-
6src/core/hle/kernel/object.cpp
-
7src/core/hle/kernel/object.h
-
9src/core/hle/kernel/svc.cpp
-
67src/core/hle/service/am/am.cpp
-
19src/core/hle/service/am/am.h
-
30src/core/hle/service/am/applets/applets.cpp
-
12src/core/hle/service/am/applets/applets.h
-
18src/core/hle/service/aoc/aoc_u.cpp
-
4src/core/hle/service/aoc/aoc_u.h
-
11src/core/hle/service/audio/audout_u.cpp
-
39src/core/hle/service/audio/audren_u.cpp
-
14src/core/hle/service/bcat/backend/backend.cpp
-
8src/core/hle/service/bcat/backend/backend.h
-
9src/core/hle/service/btdrv/btdrv.cpp
-
32src/core/hle/service/btm/btm.cpp
-
10src/core/hle/service/friend/friend.cpp
-
12src/core/hle/service/hid/controllers/npad.cpp
-
8src/core/hle/service/hid/controllers/npad.h
-
25src/core/hle/service/nfp/nfp.cpp
-
9src/core/hle/service/nfp/nfp.h
-
13src/core/hle/service/nifm/nifm.cpp
-
14src/core/hle/service/nim/nim.cpp
-
8src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
-
10src/core/hle/service/nvdrv/nvdrv.cpp
-
8src/core/hle/service/nvdrv/nvdrv.h
-
17src/core/hle/service/nvflinger/buffer_queue.cpp
-
8src/core/hle/service/nvflinger/buffer_queue.h
-
16src/core/hle/service/ptm/psm.cpp
-
8src/core/hle/service/time/standard_user_system_clock_core.cpp
-
7src/core/hle/service/time/standard_user_system_clock_core.h
-
10src/core/hle/service/vi/display/vi_display.cpp
-
7src/core/hle/service/vi/display/vi_display.h
@ -1,41 +1,27 @@ |
|||
// Copyright 2014 Citra Emulator Project
|
|||
// Copyright 2021 yuzu emulator team
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include <algorithm>
|
|||
#include "common/assert.h"
|
|||
#include "core/hle/kernel/k_event.h"
|
|||
#include "core/hle/kernel/k_readable_event.h"
|
|||
#include "core/hle/kernel/k_thread.h"
|
|||
#include "core/hle/kernel/k_writable_event.h"
|
|||
#include "core/hle/kernel/kernel.h"
|
|||
#include "core/hle/kernel/object.h"
|
|||
|
|||
namespace Kernel { |
|||
|
|||
KWritableEvent::KWritableEvent(KernelCore& kernel) : Object{kernel} {} |
|||
KWritableEvent::KWritableEvent(KernelCore& kernel, std::string&& name) |
|||
: Object{kernel, std::move(name)} {} |
|||
KWritableEvent::~KWritableEvent() = default; |
|||
|
|||
EventPair KWritableEvent::CreateEventPair(KernelCore& kernel, std::string name) { |
|||
std::shared_ptr<KWritableEvent> writable_event(new KWritableEvent(kernel)); |
|||
std::shared_ptr<KReadableEvent> readable_event(new KReadableEvent(kernel)); |
|||
|
|||
writable_event->name = name + ":Writable"; |
|||
writable_event->readable = readable_event; |
|||
readable_event->name = name + ":Readable"; |
|||
|
|||
return {std::move(readable_event), std::move(writable_event)}; |
|||
} |
|||
|
|||
std::shared_ptr<KReadableEvent> KWritableEvent::GetReadableEvent() const { |
|||
return readable; |
|||
void KWritableEvent::Initialize(KEvent* parent_) { |
|||
parent = parent_; |
|||
} |
|||
|
|||
void KWritableEvent::Signal() { |
|||
readable->Signal(); |
|||
ResultCode KWritableEvent::Signal() { |
|||
return parent->GetReadableEvent()->Signal(); |
|||
} |
|||
|
|||
void KWritableEvent::Clear() { |
|||
readable->Clear(); |
|||
ResultCode KWritableEvent::Clear() { |
|||
return parent->GetReadableEvent()->Clear(); |
|||
} |
|||
|
|||
} // namespace Kernel
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue