pub trait CameraService:
Send
+ Sync
+ 'static {
type SubscribeModeStream: Stream<Item = Result<ModeResponse, Status>> + Send + Sync + 'static;
type SubscribeInformationStream: Stream<Item = Result<InformationResponse, Status>> + Send + Sync + 'static;
type SubscribeVideoStreamInfoStream: Stream<Item = Result<VideoStreamInfoResponse, Status>> + Send + Sync + 'static;
type SubscribeCaptureInfoStream: Stream<Item = Result<CaptureInfoResponse, Status>> + Send + Sync + 'static;
type SubscribeStatusStream: Stream<Item = Result<StatusResponse, Status>> + Send + Sync + 'static;
type SubscribeCurrentSettingsStream: Stream<Item = Result<CurrentSettingsResponse, Status>> + Send + Sync + 'static;
type SubscribePossibleSettingOptionsStream: Stream<Item = Result<PossibleSettingOptionsResponse, Status>> + Send + Sync + 'static;
Show 18 methods
// Required methods
fn take_photo<'life0, 'async_trait>(
&'life0 self,
request: Request<TakePhotoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TakePhotoResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn start_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StartPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartPhotoIntervalResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn stop_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StopPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopPhotoIntervalResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn start_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn stop_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn start_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoStreamingResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn stop_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoStreamingResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn set_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SetModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetModeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeModeStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_information<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeInformationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeInformationStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_video_stream_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeVideoStreamInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeVideoStreamInfoStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_capture_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCaptureInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCaptureInfoStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_status<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeStatusStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_current_settings<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCurrentSettingsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCurrentSettingsStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn subscribe_possible_setting_options<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribePossibleSettingOptionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribePossibleSettingOptionsStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn set_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<SetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetSettingResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetSettingResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn format_storage<'life0, 'async_trait>(
&'life0 self,
request: Request<FormatStorageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FormatStorageResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with CameraServiceServer.
Required Associated Types§
Sourcetype SubscribeModeStream: Stream<Item = Result<ModeResponse, Status>> + Send + Sync + 'static
type SubscribeModeStream: Stream<Item = Result<ModeResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeMode method.
Sourcetype SubscribeInformationStream: Stream<Item = Result<InformationResponse, Status>> + Send + Sync + 'static
type SubscribeInformationStream: Stream<Item = Result<InformationResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeInformation method.
Sourcetype SubscribeVideoStreamInfoStream: Stream<Item = Result<VideoStreamInfoResponse, Status>> + Send + Sync + 'static
type SubscribeVideoStreamInfoStream: Stream<Item = Result<VideoStreamInfoResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeVideoStreamInfo method.
Sourcetype SubscribeCaptureInfoStream: Stream<Item = Result<CaptureInfoResponse, Status>> + Send + Sync + 'static
type SubscribeCaptureInfoStream: Stream<Item = Result<CaptureInfoResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeCaptureInfo method.
Sourcetype SubscribeStatusStream: Stream<Item = Result<StatusResponse, Status>> + Send + Sync + 'static
type SubscribeStatusStream: Stream<Item = Result<StatusResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeStatus method.
Sourcetype SubscribeCurrentSettingsStream: Stream<Item = Result<CurrentSettingsResponse, Status>> + Send + Sync + 'static
type SubscribeCurrentSettingsStream: Stream<Item = Result<CurrentSettingsResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribeCurrentSettings method.
Sourcetype SubscribePossibleSettingOptionsStream: Stream<Item = Result<PossibleSettingOptionsResponse, Status>> + Send + Sync + 'static
type SubscribePossibleSettingOptionsStream: Stream<Item = Result<PossibleSettingOptionsResponse, Status>> + Send + Sync + 'static
Server streaming response type for the SubscribePossibleSettingOptions method.
Required Methods§
Sourcefn take_photo<'life0, 'async_trait>(
&'life0 self,
request: Request<TakePhotoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TakePhotoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn take_photo<'life0, 'async_trait>(
&'life0 self,
request: Request<TakePhotoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<TakePhotoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Take one photo.
Sourcefn start_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StartPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartPhotoIntervalResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StartPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartPhotoIntervalResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Start photo timelapse with a given interval.
Sourcefn stop_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StopPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopPhotoIntervalResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stop_photo_interval<'life0, 'async_trait>(
&'life0 self,
request: Request<StopPhotoIntervalRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopPhotoIntervalResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stop a running photo timelapse.
Sourcefn start_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Start a video recording.
Sourcefn stop_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stop_video<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stop a running video recording.
Sourcefn start_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoStreamingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn start_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StartVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StartVideoStreamingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Start video streaming.
Sourcefn stop_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoStreamingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stop_video_streaming<'life0, 'async_trait>(
&'life0 self,
request: Request<StopVideoStreamingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<StopVideoStreamingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stop current video streaming.
Sourcefn set_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SetModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetModeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SetModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetModeResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Set camera mode.
Sourcefn subscribe_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeModeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_mode<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeModeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeModeStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to camera mode updates.
Sourcefn subscribe_information<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeInformationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeInformationStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_information<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeInformationRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeInformationStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to camera information updates.
Sourcefn subscribe_video_stream_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeVideoStreamInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeVideoStreamInfoStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_video_stream_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeVideoStreamInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeVideoStreamInfoStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to video stream info updates.
Sourcefn subscribe_capture_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCaptureInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCaptureInfoStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_capture_info<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCaptureInfoRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCaptureInfoStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to capture info updates.
Sourcefn subscribe_status<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeStatusStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_status<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeStatusRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeStatusStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Subscribe to camera status updates.
Sourcefn subscribe_current_settings<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCurrentSettingsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCurrentSettingsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_current_settings<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribeCurrentSettingsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribeCurrentSettingsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the list of current camera settings.
Sourcefn subscribe_possible_setting_options<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribePossibleSettingOptionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribePossibleSettingOptionsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn subscribe_possible_setting_options<'life0, 'async_trait>(
&'life0 self,
request: Request<SubscribePossibleSettingOptionsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::SubscribePossibleSettingOptionsStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get the list of settings that can be changed.
Sourcefn set_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<SetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetSettingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<SetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<SetSettingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Set a setting to some value.
Only setting_id of setting and option_id of option needs to be set.
Sourcefn get_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetSettingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_setting<'life0, 'async_trait>(
&'life0 self,
request: Request<GetSettingRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetSettingResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a setting.
Only setting_id of setting needs to be set.
Sourcefn format_storage<'life0, 'async_trait>(
&'life0 self,
request: Request<FormatStorageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FormatStorageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn format_storage<'life0, 'async_trait>(
&'life0 self,
request: Request<FormatStorageRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<FormatStorageResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Format storage (e.g. SD card) in camera.
This will delete all content of the camera storage!