pub struct Cpo<DB, CH>where
DB: Store,{ /* private fields */ }Expand description
Cpo implements the CPO role of the OCPI Protocol.
Every module supplies an implementation of it self on this type.
Implementations§
Source§impl<DB> Cpo<DB, NoCommandsHandler>where
DB: Store,
impl<DB> Cpo<DB, NoCommandsHandler>where
DB: Store,
Source§impl<DB> Cpo<DB, NoCommandsHandler>where
DB: Store,
impl<DB> Cpo<DB, NoCommandsHandler>where
DB: Store,
pub fn with_mpsc_commands_handler( self, tx: Sender<CommandRequest<DB::PartyModel>>, ) -> Cpo<DB, MpscCommandsHandler<DB::PartyModel>>
Trait Implementations§
Source§impl<DB> CommandsModule for Cpo<DB, MpscCommandsHandler<DB::PartyModel>>where
DB: Store,
impl<DB> CommandsModule for Cpo<DB, MpscCommandsHandler<DB::PartyModel>>where
DB: Store,
fn handle_command<'life0, 'async_trait>(
&'life0 self,
context: Context,
command: Command,
) -> Pin<Box<dyn Future<Output = Result<CommandResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn commands_post<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
command: CommandType,
body: Value,
) -> Pin<Box<dyn Future<Output = Result<CommandResponse>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Source§impl<DB, CH, M, Rm> CredentialsModule for Cpo<DB, CH>where
M: Party + Send + 'static,
Rm: Send + 'static,
CH: CommandsHandler,
DB: PartyStore<PartyModel = M, RegistrationModel = Rm> + VersionsStore + Sync,
impl<DB, CH, M, Rm> CredentialsModule for Cpo<DB, CH>where
M: Party + Send + 'static,
Rm: Send + 'static,
CH: CommandsHandler,
DB: PartyStore<PartyModel = M, RegistrationModel = Rm> + VersionsStore + Sync,
Source§fn credentials_post<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
param: Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn credentials_post<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
param: Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provides credentials for the Server to access the Clients system. This is done using the Temporary model. If this the authentication of the provided Credential is succesful
The provided Credentials will be used to create a new Model. The Credentials for this new Model is what is returned.
type PartyModel = M
type RegistrationModel = Rm
Source§fn credentials_get<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn credentials_get<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
7.2.1. GET Method Read more
Source§fn credentials_put<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
param: Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn credentials_put<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
param: Credential,
) -> Pin<Box<dyn Future<Output = Result<Credential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
7.2.3. PUT Method Read more
Source§impl<DB, CH> SessionsModule for Cpo<DB, CH>where
DB: SessionsStore,
CH: CommandsHandler,
impl<DB, CH> SessionsModule for Cpo<DB, CH>where
DB: SessionsStore,
CH: CommandsHandler,
fn sessions_get<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
date_from: DateTime,
date_to: Option<DateTime>,
offset: Option<usize>,
limit: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Paginated<Session>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sessions_put<'life0, 'async_trait>(
&'life0 self,
_ctx: Context,
_session_id: CiString<36>,
_charging_preferences: ChargingPreferences,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<DB, CH> VersionsModule for Cpo<DB, CH>where
DB: Store + VersionsStore,
CH: CommandsHandler,
impl<DB, CH> VersionsModule for Cpo<DB, CH>where
DB: Store + VersionsStore,
CH: CommandsHandler,
Source§fn versions_get<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
) -> Pin<Box<dyn Future<Output = Result<Vec<Version>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn versions_get<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
) -> Pin<Box<dyn Future<Output = Result<Vec<Version>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
6.1. Version information endpoint Read more
Source§fn versions_get_details<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
version_number: VersionNumber,
) -> Pin<Box<dyn Future<Output = Result<Option<VersionDetails>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn versions_get_details<'life0, 'async_trait>(
&'life0 self,
ctx: Context,
version_number: VersionNumber,
) -> Pin<Box<dyn Future<Output = Result<Option<VersionDetails>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
6.2. Version details endpoint Read more
Auto Trait Implementations§
impl<DB, CH> Freeze for Cpo<DB, CH>
impl<DB, CH> !RefUnwindSafe for Cpo<DB, CH>
impl<DB, CH> Send for Cpo<DB, CH>where
CH: Send,
impl<DB, CH> Sync for Cpo<DB, CH>where
CH: Sync,
impl<DB, CH> Unpin for Cpo<DB, CH>
impl<DB, CH> !UnwindSafe for Cpo<DB, CH>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more