19 #ifndef ASYLO_PLATFORM_CORE_TRUSTED_APPLICATION_H_ 20 #define ASYLO_PLATFORM_CORE_TRUSTED_APPLICATION_H_ 26 #include "absl/status/status.h" 27 #include "asylo/enclave.pb.h" 28 #include "asylo/platform/core/entry_points.h" 29 #include "asylo/util/status.h" 74 Status InitializeInternal(
const EnclaveConfig &config);
82 return absl::OkStatus();
92 return absl::OkStatus();
101 return absl::OkStatus();
114 size_t config_len,
char **output,
117 char **output, size_t *output_len);
119 char **output, size_t *output_len);
TrustedApplication * GetApplicationInstance()
Returns the trusted application instance.
ABSL_CONST_INIT const char kStatusMoveAssignmentMsg[]
friend int __asylo_user_init(const char *name, const char *config, size_t config_len, char **output, size_t *output_len)
Abstract base class for trusted applications.
Definition: trusted_application.h:71
friend int __asylo_user_run(const char *input, size_t input_len, char **output, size_t *output_len)
virtual Status Run(const EnclaveInput &input, EnclaveOutput *output)
Implements enclave execution entry-point.
Definition: trusted_application.h:91
friend int __asylo_user_fini(const char *input, size_t input_len, char **output, size_t *output_len)
virtual ~TrustedApplication()=default
Trivial destructor.
virtual Status Finalize(const EnclaveFinal &final_input)
Implements enclave finalization behavior.
Definition: trusted_application.h:100
virtual Status Initialize(const EnclaveConfig &config)
Implements enclave initialization entry-point.
Definition: trusted_application.h:81
TrustedApplication * BuildTrustedApplication()
User-supplied factory function for making a trusted application instance.