pub struct CameraServiceClient<T> { /* private fields */ }Expand description
Can be used to manage cameras that implement the MAVLink Camera Protocol: https://mavlink.io/en/protocol/camera.html.
Currently only a single camera is supported.
When multiple cameras are supported the plugin will need to be
instantiated separately for every camera and the camera selected using
select_camera.
Implementations§
Source§impl<T> CameraServiceClient<T>where
T: GrpcService<BoxBody>,
T::ResponseBody: Body + Send + Sync + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> CameraServiceClient<T>where
T: GrpcService<BoxBody>,
T::ResponseBody: Body + Send + Sync + 'static,
T::Error: Into<StdError>,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> CameraServiceClient<InterceptedService<T, F>>where
F: Interceptor,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
Sourcepub fn send_gzip(self) -> Self
pub fn send_gzip(self) -> Self
Compress requests with gzip.
This requires the server to support it otherwise it might respond with an error.
Sourcepub fn accept_gzip(self) -> Self
pub fn accept_gzip(self) -> Self
Enable decompressing responses with gzip.
Sourcepub async fn take_photo(
&mut self,
request: impl IntoRequest<TakePhotoRequest>,
) -> Result<Response<TakePhotoResponse>, Status>
pub async fn take_photo( &mut self, request: impl IntoRequest<TakePhotoRequest>, ) -> Result<Response<TakePhotoResponse>, Status>
Take one photo.
Sourcepub async fn start_photo_interval(
&mut self,
request: impl IntoRequest<StartPhotoIntervalRequest>,
) -> Result<Response<StartPhotoIntervalResponse>, Status>
pub async fn start_photo_interval( &mut self, request: impl IntoRequest<StartPhotoIntervalRequest>, ) -> Result<Response<StartPhotoIntervalResponse>, Status>
Start photo timelapse with a given interval.
Sourcepub async fn stop_photo_interval(
&mut self,
request: impl IntoRequest<StopPhotoIntervalRequest>,
) -> Result<Response<StopPhotoIntervalResponse>, Status>
pub async fn stop_photo_interval( &mut self, request: impl IntoRequest<StopPhotoIntervalRequest>, ) -> Result<Response<StopPhotoIntervalResponse>, Status>
Stop a running photo timelapse.
Sourcepub async fn start_video(
&mut self,
request: impl IntoRequest<StartVideoRequest>,
) -> Result<Response<StartVideoResponse>, Status>
pub async fn start_video( &mut self, request: impl IntoRequest<StartVideoRequest>, ) -> Result<Response<StartVideoResponse>, Status>
Start a video recording.
Sourcepub async fn stop_video(
&mut self,
request: impl IntoRequest<StopVideoRequest>,
) -> Result<Response<StopVideoResponse>, Status>
pub async fn stop_video( &mut self, request: impl IntoRequest<StopVideoRequest>, ) -> Result<Response<StopVideoResponse>, Status>
Stop a running video recording.
Sourcepub async fn start_video_streaming(
&mut self,
request: impl IntoRequest<StartVideoStreamingRequest>,
) -> Result<Response<StartVideoStreamingResponse>, Status>
pub async fn start_video_streaming( &mut self, request: impl IntoRequest<StartVideoStreamingRequest>, ) -> Result<Response<StartVideoStreamingResponse>, Status>
Start video streaming.
Sourcepub async fn stop_video_streaming(
&mut self,
request: impl IntoRequest<StopVideoStreamingRequest>,
) -> Result<Response<StopVideoStreamingResponse>, Status>
pub async fn stop_video_streaming( &mut self, request: impl IntoRequest<StopVideoStreamingRequest>, ) -> Result<Response<StopVideoStreamingResponse>, Status>
Stop current video streaming.
Sourcepub async fn set_mode(
&mut self,
request: impl IntoRequest<SetModeRequest>,
) -> Result<Response<SetModeResponse>, Status>
pub async fn set_mode( &mut self, request: impl IntoRequest<SetModeRequest>, ) -> Result<Response<SetModeResponse>, Status>
Set camera mode.
Sourcepub async fn subscribe_mode(
&mut self,
request: impl IntoRequest<SubscribeModeRequest>,
) -> Result<Response<Streaming<ModeResponse>>, Status>
pub async fn subscribe_mode( &mut self, request: impl IntoRequest<SubscribeModeRequest>, ) -> Result<Response<Streaming<ModeResponse>>, Status>
Subscribe to camera mode updates.
Sourcepub async fn subscribe_information(
&mut self,
request: impl IntoRequest<SubscribeInformationRequest>,
) -> Result<Response<Streaming<InformationResponse>>, Status>
pub async fn subscribe_information( &mut self, request: impl IntoRequest<SubscribeInformationRequest>, ) -> Result<Response<Streaming<InformationResponse>>, Status>
Subscribe to camera information updates.
Sourcepub async fn subscribe_video_stream_info(
&mut self,
request: impl IntoRequest<SubscribeVideoStreamInfoRequest>,
) -> Result<Response<Streaming<VideoStreamInfoResponse>>, Status>
pub async fn subscribe_video_stream_info( &mut self, request: impl IntoRequest<SubscribeVideoStreamInfoRequest>, ) -> Result<Response<Streaming<VideoStreamInfoResponse>>, Status>
Subscribe to video stream info updates.
Sourcepub async fn subscribe_capture_info(
&mut self,
request: impl IntoRequest<SubscribeCaptureInfoRequest>,
) -> Result<Response<Streaming<CaptureInfoResponse>>, Status>
pub async fn subscribe_capture_info( &mut self, request: impl IntoRequest<SubscribeCaptureInfoRequest>, ) -> Result<Response<Streaming<CaptureInfoResponse>>, Status>
Subscribe to capture info updates.
Sourcepub async fn subscribe_status(
&mut self,
request: impl IntoRequest<SubscribeStatusRequest>,
) -> Result<Response<Streaming<StatusResponse>>, Status>
pub async fn subscribe_status( &mut self, request: impl IntoRequest<SubscribeStatusRequest>, ) -> Result<Response<Streaming<StatusResponse>>, Status>
Subscribe to camera status updates.
Sourcepub async fn subscribe_current_settings(
&mut self,
request: impl IntoRequest<SubscribeCurrentSettingsRequest>,
) -> Result<Response<Streaming<CurrentSettingsResponse>>, Status>
pub async fn subscribe_current_settings( &mut self, request: impl IntoRequest<SubscribeCurrentSettingsRequest>, ) -> Result<Response<Streaming<CurrentSettingsResponse>>, Status>
Get the list of current camera settings.
Sourcepub async fn subscribe_possible_setting_options(
&mut self,
request: impl IntoRequest<SubscribePossibleSettingOptionsRequest>,
) -> Result<Response<Streaming<PossibleSettingOptionsResponse>>, Status>
pub async fn subscribe_possible_setting_options( &mut self, request: impl IntoRequest<SubscribePossibleSettingOptionsRequest>, ) -> Result<Response<Streaming<PossibleSettingOptionsResponse>>, Status>
Get the list of settings that can be changed.
Sourcepub async fn set_setting(
&mut self,
request: impl IntoRequest<SetSettingRequest>,
) -> Result<Response<SetSettingResponse>, Status>
pub async fn set_setting( &mut self, request: impl IntoRequest<SetSettingRequest>, ) -> Result<Response<SetSettingResponse>, Status>
Set a setting to some value.
Only setting_id of setting and option_id of option needs to be set.
Sourcepub async fn get_setting(
&mut self,
request: impl IntoRequest<GetSettingRequest>,
) -> Result<Response<GetSettingResponse>, Status>
pub async fn get_setting( &mut self, request: impl IntoRequest<GetSettingRequest>, ) -> Result<Response<GetSettingResponse>, Status>
Get a setting.
Only setting_id of setting needs to be set.
Sourcepub async fn format_storage(
&mut self,
request: impl IntoRequest<FormatStorageRequest>,
) -> Result<Response<FormatStorageResponse>, Status>
pub async fn format_storage( &mut self, request: impl IntoRequest<FormatStorageRequest>, ) -> Result<Response<FormatStorageResponse>, Status>
Format storage (e.g. SD card) in camera.
This will delete all content of the camera storage!
Trait Implementations§
Source§impl<T: Clone> Clone for CameraServiceClient<T>
impl<T: Clone> Clone for CameraServiceClient<T>
Source§fn clone(&self) -> CameraServiceClient<T>
fn clone(&self) -> CameraServiceClient<T>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<T> Freeze for CameraServiceClient<T>where
T: Freeze,
impl<T> RefUnwindSafe for CameraServiceClient<T>where
T: RefUnwindSafe,
impl<T> Send for CameraServiceClient<T>where
T: Send,
impl<T> Sync for CameraServiceClient<T>where
T: Sync,
impl<T> Unpin for CameraServiceClient<T>where
T: Unpin,
impl<T> UnwindSafe for CameraServiceClient<T>where
T: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request