Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0434be67 authored by Sonny Sasaka's avatar Sonny Sasaka
Browse files

Refactor to use absolute names for identifiers in macros

It's better for macros to refer to names by their absolute path so that
the callers don't have to include the packages manually.

Bug: 188718349
Tag: #floss
Test: manual - Build floss on Linux

Change-Id: Ia18b596ab67cca13c74f912cb3ae3632fd0e2ca1
parent 298cadc6
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -178,10 +178,10 @@ pub fn generate_dbus_exporter(attr: TokenStream, item: TokenStream) -> TokenStre
            conn: std::sync::Arc<SyncConnection>,
            cr: &mut dbus_crossroads::Crossroads,
            obj: ObjType,
            disconnect_watcher: Arc<Mutex<dbus_projection::DisconnectWatcher>>,
            disconnect_watcher: std::sync::Arc<std::sync::Mutex<dbus_projection::DisconnectWatcher>>,
        ) {
            fn get_iface_token(
                conn: Arc<SyncConnection>,
                conn: std::sync::Arc<SyncConnection>,
                cr: &mut dbus_crossroads::Crossroads,
                disconnect_watcher: std::sync::Arc<std::sync::Mutex<dbus_projection::DisconnectWatcher>>,
            ) -> dbus_crossroads::IfaceToken<ObjType> {
@@ -306,10 +306,10 @@ pub fn dbus_propmap(attr: TokenStream, item: TokenStream) -> TokenStream {

            fn from_dbus(
                data__: dbus::arg::PropMap,
                conn__: Arc<SyncConnection>,
                remote__: BusName<'static>,
                disconnect_watcher__: Arc<Mutex<dbus_projection::DisconnectWatcher>>,
            ) -> Result<#struct_ident, Box<dyn Error>> {
                conn__: std::sync::Arc<SyncConnection>,
                remote__: dbus::strings::BusName<'static>,
                disconnect_watcher__: std::sync::Arc<std::sync::Mutex<dbus_projection::DisconnectWatcher>>,
            ) -> Result<#struct_ident, Box<dyn std::error::Error>> {
                #make_fields

                return Ok(#struct_ident {
@@ -318,7 +318,7 @@ pub fn dbus_propmap(attr: TokenStream, item: TokenStream) -> TokenStream {
                });
            }

            fn to_dbus(data__: #struct_ident) -> Result<dbus::arg::PropMap, Box<dyn Error>> {
            fn to_dbus(data__: #struct_ident) -> Result<dbus::arg::PropMap, Box<dyn std::error::Error>> {
                let mut map__: dbus::arg::PropMap = std::collections::HashMap::new();
                #insert_map_fields
                return Ok(map__);
@@ -429,10 +429,10 @@ pub fn dbus_proxy_obj(attr: TokenStream, item: TokenStream) -> TokenStream {
        }

        struct #struct_ident {
            conn: Arc<SyncConnection>,
            remote: BusName<'static>,
            conn: std::sync::Arc<SyncConnection>,
            remote: dbus::strings::BusName<'static>,
            objpath: Path<'static>,
            disconnect_watcher: Arc<Mutex<DisconnectWatcher>>,
            disconnect_watcher: std::sync::Arc<std::sync::Mutex<DisconnectWatcher>>,
        }

        impl #trait_ for #struct_ident {
@@ -450,10 +450,10 @@ pub fn dbus_proxy_obj(attr: TokenStream, item: TokenStream) -> TokenStream {

            fn from_dbus(
                objpath__: Path<'static>,
                conn__: Arc<SyncConnection>,
                remote__: BusName<'static>,
                disconnect_watcher__: Arc<Mutex<DisconnectWatcher>>,
            ) -> Result<Box<dyn #trait_ + Send>, Box<dyn Error>> {
                conn__: std::sync::Arc<SyncConnection>,
                remote__: dbus::strings::BusName<'static>,
                disconnect_watcher__: std::sync::Arc<std::sync::Mutex<DisconnectWatcher>>,
            ) -> Result<Box<dyn #trait_ + Send>, Box<dyn std::error::Error>> {
                Ok(Box::new(#struct_ident {
                    conn: conn__,
                    remote: remote__,
@@ -462,7 +462,7 @@ pub fn dbus_proxy_obj(attr: TokenStream, item: TokenStream) -> TokenStream {
                }))
            }

            fn to_dbus(_data: Box<dyn #trait_ + Send>) -> Result<Path<'static>, Box<dyn Error>> {
            fn to_dbus(_data: Box<dyn #trait_ + Send>) -> Result<Path<'static>, Box<dyn std::error::Error>> {
                // This impl represents a remote DBus object, so `to_dbus` does not make sense.
                panic!("not implemented");
            }
+4 −4
Original line number Diff line number Diff line
@@ -81,9 +81,9 @@ macro_rules! impl_dbus_arg_enum {
            fn from_dbus(
                data: i32,
                _conn: Arc<SyncConnection>,
                _remote: BusName<'static>,
                _disconnect_watcher: Arc<Mutex<dbus_projection::DisconnectWatcher>>,
            ) -> Result<$enum_type, Box<dyn Error>> {
                _remote: dbus::strings::BusName<'static>,
                _disconnect_watcher: Arc<std::sync::Mutex<dbus_projection::DisconnectWatcher>>,
            ) -> Result<$enum_type, Box<dyn std::error::Error>> {
                match <$enum_type>::from_i32(data) {
                    Some(x) => Ok(x),
                    None => Err(Box::new(DBusArgError::new(String::from(format!(
@@ -94,7 +94,7 @@ macro_rules! impl_dbus_arg_enum {
                }
            }

            fn to_dbus(data: $enum_type) -> Result<i32, Box<dyn Error>> {
            fn to_dbus(data: $enum_type) -> Result<i32, Box<dyn std::error::Error>> {
                return Ok(data.to_i32().unwrap());
            }
        }
+1 −3
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ use btstack::RPCProxy;
use dbus::arg::RefArg;

use dbus::nonblock::SyncConnection;
use dbus::strings::{BusName, Path};
use dbus::strings::Path;

use dbus_macros::{dbus_method, dbus_propmap, dbus_proxy_obj, generate_dbus_exporter};

@@ -15,9 +15,7 @@ use dbus_projection::DisconnectWatcher;

use num_traits::cast::{FromPrimitive, ToPrimitive};

use std::error::Error;
use std::sync::Arc;
use std::sync::Mutex;

use crate::dbus_arg::{DBusArg, DBusArgError, RefArgToRust};

+2 −3
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ use btstack::RPCProxy;
use dbus::arg::RefArg;

use dbus::nonblock::SyncConnection;
use dbus::strings::{BusName, Path};
use dbus::strings::Path;

use dbus_macros::{dbus_method, dbus_propmap, dbus_proxy_obj, generate_dbus_exporter};

@@ -15,8 +15,7 @@ use dbus_projection::DisconnectWatcher;

use num_traits::cast::{FromPrimitive, ToPrimitive};

use std::error::Error;
use std::sync::{Arc, Mutex};
use std::sync::Arc;

use crate::dbus_arg::{DBusArg, DBusArgError, RefArgToRust};