summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/storage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/am/storage.h')
-rw-r--r--src/core/hle/service/am/storage.h25
1 files changed, 7 insertions, 18 deletions
diff --git a/src/core/hle/service/am/storage.h b/src/core/hle/service/am/storage.h
index d47a8d89f..10d00b141 100644
--- a/src/core/hle/service/am/storage.h
+++ b/src/core/hle/service/am/storage.h
@@ -7,36 +7,25 @@
namespace Service::AM {
-class IStorageImpl {
-public:
- virtual ~IStorageImpl();
- virtual std::vector<u8>& GetData() = 0;
- virtual const std::vector<u8>& GetData() const = 0;
- virtual std::size_t GetSize() const = 0;
-};
+class LibraryAppletStorage;
class IStorage final : public ServiceFramework<IStorage> {
public:
+ explicit IStorage(Core::System& system_, std::shared_ptr<LibraryAppletStorage> impl_);
explicit IStorage(Core::System& system_, std::vector<u8>&& buffer);
~IStorage() override;
- std::vector<u8>& GetData() {
- return impl->GetData();
+ std::shared_ptr<LibraryAppletStorage> GetImpl() const {
+ return impl;
}
- const std::vector<u8>& GetData() const {
- return impl->GetData();
- }
-
- std::size_t GetSize() const {
- return impl->GetSize();
- }
+ std::vector<u8> GetData() const;
private:
- void Register();
void Open(HLERequestContext& ctx);
+ void OpenTransferStorage(HLERequestContext& ctx);
- std::shared_ptr<IStorageImpl> impl;
+ const std::shared_ptr<LibraryAppletStorage> impl;
};
} // namespace Service::AM