fsipc/
lib.rs

1// Author: D.S. Ljungmark <spider@skuggor.se>, Modio AB
2// SPDX-License-Identifier: MIT
3use std::time::SystemTime;
4
5pub mod legacy;
6pub mod logger1;
7
8#[must_use]
9/// Return current time as u64,  or 0 if it fails for some reason.
10pub fn unixtime() -> u64 {
11    match SystemTime::now().duration_since(SystemTime::UNIX_EPOCH) {
12        Ok(n) => n.as_secs(),
13        Err(_) => 0,
14    }
15}
16
17#[cfg(test)]
18mod tests {
19    use crate::legacy::fsipcProxy;
20    use crate::logger1::Logger1Proxy;
21
22    #[async_std::test]
23    async fn it_works() {
24        let conn = zbus::Connection::session().await.unwrap();
25        let proxy = fsipcProxy::builder(&conn)
26            .destination("se.modio.logger.TestFsIPC")
27            .unwrap()
28            .path("/se/modio/logger")
29            .unwrap()
30            .build()
31            .await;
32        assert!(proxy.is_ok());
33    }
34
35    #[async_std::test]
36    async fn logger_builds() {
37        let conn = zbus::Connection::session().await.unwrap();
38        let proxy = Logger1Proxy::builder(&conn)
39            .destination("se.modio.logger.TestFsIPC")
40            .unwrap()
41            .path("/se/modio/logger")
42            .unwrap()
43            .build()
44            .await;
45        assert!(proxy.is_ok());
46    }
47}