mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-01 10:01:07 +02:00
* fix: CEF CI * fmt * update to rust 1.88, edition 2024 * install x86_64-apple-darwin * linux clippy * fix --all-features * more all-features fixes * install x86 apple * fix windows * fix doc tests * skip --all-featuress test for android and ios * more clippy fixes * install target * fix build, clippy * export cef for tests * pin version * fix arg
54 lines
1.2 KiB
Rust
54 lines
1.2 KiB
Rust
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
|
|
|
use std::sync::Mutex;
|
|
|
|
use tauri::State;
|
|
|
|
struct Counter(Mutex<isize>);
|
|
|
|
#[tauri::command]
|
|
fn increment(counter: State<'_, Counter>) -> isize {
|
|
let mut c = counter.0.lock().unwrap();
|
|
*c += 1;
|
|
*c
|
|
}
|
|
|
|
#[tauri::command]
|
|
fn decrement(counter: State<'_, Counter>) -> isize {
|
|
let mut c = counter.0.lock().unwrap();
|
|
*c -= 1;
|
|
*c
|
|
}
|
|
|
|
#[tauri::command]
|
|
fn reset(counter: State<'_, Counter>) -> isize {
|
|
let mut c = counter.0.lock().unwrap();
|
|
*c = 0;
|
|
*c
|
|
}
|
|
|
|
#[tauri::command]
|
|
fn get(counter: State<'_, Counter>) -> isize {
|
|
*counter.0.lock().unwrap()
|
|
}
|
|
|
|
#[cfg_attr(feature = "cef", tauri::cef_entry_point)]
|
|
fn main() {
|
|
#[cfg(feature = "cef")]
|
|
let builder = tauri::Builder::<tauri::Cef>::default();
|
|
#[cfg(not(feature = "cef"))]
|
|
let builder = tauri::Builder::<tauri::Wry>::new();
|
|
|
|
builder
|
|
.manage(Counter(Mutex::new(0)))
|
|
.invoke_handler(tauri::generate_handler![increment, decrement, reset, get])
|
|
.run(tauri::generate_context!(
|
|
"../../examples/state/tauri.conf.json"
|
|
))
|
|
.expect("error while running tauri application");
|
|
}
|