tauri-plugin-screen-wake-lock 0.1.0

A Tauri plugin to keep the screen awake while enabled (desktop only).
Documentation
use serde::de::DeserializeOwned;
use std::marker::PhantomData;
use tauri::{plugin::PluginApi, AppHandle, Runtime};

use crate::error::Error;
use crate::models::*;

pub fn init<R: Runtime, C: DeserializeOwned>(
  _app: &AppHandle<R>,
  _api: PluginApi<R, C>,
) -> crate::Result<ScreenWakeLock<R>> {
  Ok(ScreenWakeLock(PhantomData))
}

/// Access to the screen-wake-lock APIs.
pub struct ScreenWakeLock<R: Runtime>(PhantomData<R>);

impl<R: Runtime> ScreenWakeLock<R> {
  pub fn set_enabled(&self, _payload: SetEnabledRequest) -> crate::Result<SetEnabledResponse> {
    Err(Error::Unsupported)
  }

  pub fn is_enabled(&self) -> crate::Result<IsEnabledResponse> {
    Ok(IsEnabledResponse { enabled: false })
  }

  pub fn is_supported(&self) -> IsSupportedResponse {
    IsSupportedResponse { supported: false }
  }
}