pub struct ContextApiBuilder { /* private fields */ }Implementations§
Source§impl ContextApiBuilder
impl ContextApiBuilder
Sourcepub fn device_context(self, device_context: DeviceContext) -> Self
pub fn device_context(self, device_context: DeviceContext) -> Self
Examples found in repository?
examples/enveloped_clipboard_monitor.rs (lines 10-16)
8fn main() -> Result<(), Box<dyn std::error::Error>> {
9 let mut api = ContextApi::builder()
10 .device_context(DeviceContext {
11 device_id: "desktop:devbox".to_string(),
12 device_name: "devbox".to_string(),
13 platform: Platform::Linux,
14 device_class: DeviceClass::Desktop,
15 os_version: None,
16 })
17 .application_context(ApplicationContext {
18 app_id: "lcsa-demo".to_string(),
19 app_name: "lcsa-demo".to_string(),
20 app_version: Some("0.1.0".to_string()),
21 })
22 .build()?;
23
24 api.request_permission(
25 PermissionRequest::new(
26 Capability::ReadClipboardContent,
27 Scope::Session,
28 "Demonstrate cross-device envelopes plus gated content access",
29 )
30 .with_ttl(Duration::from_secs(300)),
31 )?;
32
33 api.subscribe_enveloped(SignalType::Clipboard, |envelope| {
34 println!(
35 "envelope={} device={} app={} source={:?}",
36 envelope.signal_id,
37 envelope.device.device_id,
38 envelope.application.app_id,
39 envelope.source
40 );
41 })?;
42
43 println!("Monitoring enveloped clipboard signals. Press Ctrl+C to exit.");
44 api.run_with_signals()?;
45 Ok(())
46}Sourcepub fn application_context(
self,
application_context: ApplicationContext,
) -> Self
pub fn application_context( self, application_context: ApplicationContext, ) -> Self
Examples found in repository?
examples/enveloped_clipboard_monitor.rs (lines 17-21)
8fn main() -> Result<(), Box<dyn std::error::Error>> {
9 let mut api = ContextApi::builder()
10 .device_context(DeviceContext {
11 device_id: "desktop:devbox".to_string(),
12 device_name: "devbox".to_string(),
13 platform: Platform::Linux,
14 device_class: DeviceClass::Desktop,
15 os_version: None,
16 })
17 .application_context(ApplicationContext {
18 app_id: "lcsa-demo".to_string(),
19 app_name: "lcsa-demo".to_string(),
20 app_version: Some("0.1.0".to_string()),
21 })
22 .build()?;
23
24 api.request_permission(
25 PermissionRequest::new(
26 Capability::ReadClipboardContent,
27 Scope::Session,
28 "Demonstrate cross-device envelopes plus gated content access",
29 )
30 .with_ttl(Duration::from_secs(300)),
31 )?;
32
33 api.subscribe_enveloped(SignalType::Clipboard, |envelope| {
34 println!(
35 "envelope={} device={} app={} source={:?}",
36 envelope.signal_id,
37 envelope.device.device_id,
38 envelope.application.app_id,
39 envelope.source
40 );
41 })?;
42
43 println!("Monitoring enveloped clipboard signals. Press Ctrl+C to exit.");
44 api.run_with_signals()?;
45 Ok(())
46}Sourcepub fn build(self) -> Result<ContextApi, Error>
pub fn build(self) -> Result<ContextApi, Error>
Examples found in repository?
examples/enveloped_clipboard_monitor.rs (line 22)
8fn main() -> Result<(), Box<dyn std::error::Error>> {
9 let mut api = ContextApi::builder()
10 .device_context(DeviceContext {
11 device_id: "desktop:devbox".to_string(),
12 device_name: "devbox".to_string(),
13 platform: Platform::Linux,
14 device_class: DeviceClass::Desktop,
15 os_version: None,
16 })
17 .application_context(ApplicationContext {
18 app_id: "lcsa-demo".to_string(),
19 app_name: "lcsa-demo".to_string(),
20 app_version: Some("0.1.0".to_string()),
21 })
22 .build()?;
23
24 api.request_permission(
25 PermissionRequest::new(
26 Capability::ReadClipboardContent,
27 Scope::Session,
28 "Demonstrate cross-device envelopes plus gated content access",
29 )
30 .with_ttl(Duration::from_secs(300)),
31 )?;
32
33 api.subscribe_enveloped(SignalType::Clipboard, |envelope| {
34 println!(
35 "envelope={} device={} app={} source={:?}",
36 envelope.signal_id,
37 envelope.device.device_id,
38 envelope.application.app_id,
39 envelope.source
40 );
41 })?;
42
43 println!("Monitoring enveloped clipboard signals. Press Ctrl+C to exit.");
44 api.run_with_signals()?;
45 Ok(())
46}Auto Trait Implementations§
impl Freeze for ContextApiBuilder
impl RefUnwindSafe for ContextApiBuilder
impl Send for ContextApiBuilder
impl Sync for ContextApiBuilder
impl Unpin for ContextApiBuilder
impl UnsafeUnpin for ContextApiBuilder
impl UnwindSafe for ContextApiBuilder
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