pub trait OgcApiService: Clone + Send {
type Config: ServiceConfig;
type CliCommands: Subcommand + Parser + Debug;
type CliArgs: Args + Debug;
type Metrics;
// Required methods
fn create<'life0, 'life1, 'async_trait>(
cfg: &'life0 Self::Config,
core_cfg: &'life1 CoreServiceCfg,
) -> Pin<Box<dyn Future<Output = Self> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn metrics(&self) -> &'static Self::Metrics;
// Provided methods
fn landing_page_links(&self, _api_base: &str) -> Vec<ApiLink> { ... }
fn conformance_classes(&self) -> Vec<String> { ... }
fn collections(&self) -> Vec<CoreCollection> { ... }
fn openapi_yaml(&self) -> Option<&str> { ... }
fn add_metrics(&self, _prometheus: &Registry) { ... }
fn cli_run<'life0, 'life1, 'async_trait>(
&'life0 self,
_cli: &'life1 ArgMatches,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}
Required Associated Types§
type Config: ServiceConfig
type CliCommands: Subcommand + Parser + Debug
type CliArgs: Args + Debug
type Metrics
Required Methods§
Provided Methods§
fn landing_page_links(&self, _api_base: &str) -> Vec<ApiLink>
fn conformance_classes(&self) -> Vec<String>
fn collections(&self) -> Vec<CoreCollection>
fn openapi_yaml(&self) -> Option<&str>
Sourcefn add_metrics(&self, _prometheus: &Registry)
fn add_metrics(&self, _prometheus: &Registry)
Add metrics to Prometheus registry
fn cli_run<'life0, 'life1, 'async_trait>(
&'life0 self,
_cli: &'life1 ArgMatches,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.