diff options
author | Subv <subv2112@gmail.com> | 2015-05-26 06:30:20 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2015-07-12 04:47:22 +0200 |
commit | 2a6ebadf66051362cdcf07d722f7e2d3cee14c82 (patch) | |
tree | f016b2ee81df95aabccc426762c42073d645803c /src/core/hle/applets/applet.cpp | |
parent | Merge pull request #914 from yuriks/bitfield-mask (diff) | |
download | yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar.gz yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar.bz2 yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar.lz yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar.xz yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.tar.zst yuzu-2a6ebadf66051362cdcf07d722f7e2d3cee14c82.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/applets/applet.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/core/hle/applets/applet.cpp b/src/core/hle/applets/applet.cpp new file mode 100644 index 000000000..1f447e5fc --- /dev/null +++ b/src/core/hle/applets/applet.cpp @@ -0,0 +1,40 @@ +// Copyright 2015 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "common/assert.h" +#include "common/logging/log.h" + +#include "core/hle/applets/applet.h" +#include "core/hle/applets/swkbd.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace HLE { +namespace Applets { + +static std::unordered_map<Service::APT::AppletId, std::shared_ptr<Applet>> applets; + +ResultCode Applet::Create(Service::APT::AppletId id) { + switch (id) { + case Service::APT::AppletId::SoftwareKeyboard1: + case Service::APT::AppletId::SoftwareKeyboard2: + applets[id] = std::make_shared<SoftwareKeyboard>(id); + break; + default: + // TODO(Subv): Find the right error code + return ResultCode(ErrorDescription::NotFound, ErrorModule::Applet, ErrorSummary::NotSupported, ErrorLevel::Permanent); + } + + return RESULT_SUCCESS; +} + +std::shared_ptr<Applet> Applet::Get(Service::APT::AppletId id) { + auto itr = applets.find(id); + if (itr != applets.end()) + return itr->second; + return nullptr; +} + +} +} // namespace |