Asylo
Public Member Functions | Protected Member Functions | Friends | List of all members
asylo::EnclaveClient Class Referenceabstract

An abstract enclave client. More...

#include <enclave_client.h>

Public Member Functions

 EnclaveClient (const EnclaveClient &)=delete
 
EnclaveClientoperator= (const EnclaveClient &)=delete
 
virtual ~EnclaveClient ()=default
 
virtual Status EnterAndRun (const EnclaveInput &input, EnclaveOutput *output)=0
 Enters the enclave and invokes its execution entry point. More...
 

Protected Member Functions

const std::string & get_name () const
 Returns the name of the enclave. More...
 
 EnclaveClient (const std::string &name)
 Called by the EnclaveManager to create a client instance. More...
 

Friends

class EnclaveManager
 
class EnclaveSignalDispatcher
 
void donate (EnclaveClient *client)
 

Detailed Description

An abstract enclave client.

A handle to an enclave object which provides methods for invoking its entry points and managing its lifecycle.

Constructor & Destructor Documentation

◆ EnclaveClient() [1/2]

asylo::EnclaveClient::EnclaveClient ( const EnclaveClient )
delete

◆ ~EnclaveClient()

virtual asylo::EnclaveClient::~EnclaveClient ( )
virtualdefault

◆ EnclaveClient() [2/2]

asylo::EnclaveClient::EnclaveClient ( const std::string &  name)
inlineexplicitprotected

Called by the EnclaveManager to create a client instance.

Parameters
nameThe enclave name as registered with the EnclaveManager.

Member Function Documentation

◆ EnterAndRun()

virtual Status asylo::EnclaveClient::EnterAndRun ( const EnclaveInput &  input,
EnclaveOutput *  output 
)
pure virtual

Enters the enclave and invokes its execution entry point.

Parameters
inputA protobuf message that may be extended with a user-defined message.
[out]outputA nullable pointer to a protobuf message that can store a response message.

◆ get_name()

const std::string& asylo::EnclaveClient::get_name ( ) const
inlineprotected

Returns the name of the enclave.

Returns
The name of the enclave.

◆ operator=()

EnclaveClient& asylo::EnclaveClient::operator= ( const EnclaveClient )
delete

Friends And Related Function Documentation

◆ donate

void donate ( EnclaveClient client)
friend

◆ EnclaveManager

friend class EnclaveManager
friend

◆ EnclaveSignalDispatcher

friend class EnclaveSignalDispatcher
friend

The documentation for this class was generated from the following file: