Cpo

Struct Cpo 

Source
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,

Source

pub fn new(db: DB, client: Client) -> Self

Creates a new Cpo instance. the base_url must be the url to the base ocpi endpoint. NOT the versions module. This base url will be used to add on each module url. so versions will be appended and the versions module should be served from that path.

Source§

impl<DB> Cpo<DB, NoCommandsHandler>
where DB: Store,

Trait Implementations§

Source§

impl<DB, CH: Clone> Clone for Cpo<DB, CH>
where DB: Store + Clone,

Source§

fn clone(&self) -> Cpo<DB, CH>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<DB> CommandsModule for Cpo<DB, MpscCommandsHandler<DB::PartyModel>>
where DB: Store,

Source§

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,

Source§

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,

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,

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.

Source§

type PartyModel = M

Source§

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,

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,

7.2.3. PUT Method Read more
Source§

fn credentials_delete<'life0, 'async_trait>( &'life0 self, ctx: Context, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

7.2.4. DELETE Method Read more
Source§

impl<DB, CH> SessionsModule for Cpo<DB, CH>
where DB: SessionsStore, CH: CommandsHandler,

Source§

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,

Source§

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,

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,

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,

6.2. Version details endpoint Read more

Auto Trait Implementations§

§

impl<DB, CH> Freeze for Cpo<DB, CH>
where DB: Freeze, CH: Freeze,

§

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>
where DB: Unpin, CH: Unpin,

§

impl<DB, CH> !UnwindSafe for Cpo<DB, CH>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,