summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applets/applets.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/am/applets/applets.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/am/applets/applets.h b/src/core/hle/service/am/applets/applets.h
index 6d90eb608..7fbaaf2f3 100644
--- a/src/core/hle/service/am/applets/applets.h
+++ b/src/core/hle/service/am/applets/applets.h
@@ -4,6 +4,7 @@
#pragma once
+#include <functional>
#include <memory>
#include <vector>
#include "common/swap.h"
@@ -20,6 +21,8 @@ class IStorage;
namespace Applets {
+using AppletStorageProxyFunction = std::function<void(IStorage)>;
+
class Applet {
public:
Applet();
@@ -30,7 +33,8 @@ public:
virtual bool TransactionComplete() const = 0;
virtual ResultCode GetStatus() const = 0;
virtual void ReceiveInteractiveData(std::shared_ptr<IStorage> storage) = 0;
- virtual IStorage Execute() = 0;
+ virtual void Execute(AppletStorageProxyFunction out_data,
+ AppletStorageProxyFunction out_interactive_data) = 0;
bool IsInitialized() const {
return initialized;