pub trait SessionLifecycleCapability {
type Error: Into<GuestError>;
// Required methods
fn create(
&self,
parent: &Session,
pubkey: [u8; 32],
) -> Result<Session, Self::Error>;
fn add_entitlement(
&self,
target: &mut Session,
entitlement: Capability,
) -> Result<(), Self::Error>;
fn rm_entitlement(
&self,
target: &mut Session,
entitlement: Capability,
) -> Result<(), Self::Error>;
fn add_resource(
&self,
target: &mut Session,
entitlement: Capability,
resource: ResourceId,
) -> Result<bool, Self::Error>;
fn rm_resource(
&self,
target: &mut Session,
entitlement: Capability,
resource: ResourceId,
) -> Result<bool, Self::Error>;
fn remove(&self, target: &Session) -> Result<(), Self::Error>;
}Expand description
Capability responsible for session lifecycles.
Required Associated Types§
type Error: Into<GuestError>
Required Methods§
Sourcefn create(
&self,
parent: &Session,
pubkey: [u8; 32],
) -> Result<Session, Self::Error>
fn create( &self, parent: &Session, pubkey: [u8; 32], ) -> Result<Session, Self::Error>
Create a new session with no entitlements
Sourcefn add_entitlement(
&self,
target: &mut Session,
entitlement: Capability,
) -> Result<(), Self::Error>
fn add_entitlement( &self, target: &mut Session, entitlement: Capability, ) -> Result<(), Self::Error>
Add an entitlement to the given session
Sourcefn rm_entitlement(
&self,
target: &mut Session,
entitlement: Capability,
) -> Result<(), Self::Error>
fn rm_entitlement( &self, target: &mut Session, entitlement: Capability, ) -> Result<(), Self::Error>
Remove an entitlement from the given session
Sourcefn add_resource(
&self,
target: &mut Session,
entitlement: Capability,
resource: ResourceId,
) -> Result<bool, Self::Error>
fn add_resource( &self, target: &mut Session, entitlement: Capability, resource: ResourceId, ) -> Result<bool, Self::Error>
Add a resource to an entitlement
Sourcefn rm_resource(
&self,
target: &mut Session,
entitlement: Capability,
resource: ResourceId,
) -> Result<bool, Self::Error>
fn rm_resource( &self, target: &mut Session, entitlement: Capability, resource: ResourceId, ) -> Result<bool, Self::Error>
Remove a resource from an entitlement