Skip to content

Commit e5f811b

Browse files
authored
Merge pull request dbus2#1316 from zeenix/disambiguate-interface-args
🐛 zm: Disambiguate the Interface method arguments
2 parents d72780a + e4d41df commit e5f811b

File tree

1 file changed

+55
-52
lines changed

1 file changed

+55
-52
lines changed

zbus_macros/src/iface.rs

Lines changed: 55 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -256,11 +256,11 @@ impl MethodInfo {
256256
let ret = quote!(r);
257257

258258
quote!(match reply {
259-
::std::result::Result::Ok(r) => connection.reply(&hdr, &#ret).await,
260-
::std::result::Result::Err(e) => connection.reply_dbus_error(&hdr, e).await,
259+
::std::result::Result::Ok(r) => __zbus__connection.reply(&hdr, &#ret).await,
260+
::std::result::Result::Err(e) => __zbus__connection.reply_dbus_error(&hdr, e).await,
261261
})
262262
} else {
263-
quote!(connection.reply(&hdr, &reply).await)
263+
quote!(__zbus__connection.reply(&hdr, &reply).await)
264264
};
265265

266266
let member_name = attrs.name.clone().unwrap_or_else(|| {
@@ -594,7 +594,7 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
594594
PropertyEmitsChangedSignal::True => {
595595
quote!({
596596
self
597-
.#prop_changed_method_name(&signal_emitter)
597+
.#prop_changed_method_name(&__zbus__signal_emitter)
598598
.await
599599
.map(|_| set_result)
600600
.map_err(Into::into)
@@ -603,7 +603,7 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
603603
PropertyEmitsChangedSignal::Invalidates => {
604604
quote!({
605605
self
606-
.#prop_invalidate_method_name(&signal_emitter)
606+
.#prop_invalidate_method_name(&__zbus__signal_emitter)
607607
.await
608608
.map(|_| set_result)
609609
.map_err(Into::into)
@@ -728,17 +728,17 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
728728
let prop_changed_method = quote!(
729729
pub async fn #prop_changed_method_name(
730730
&self,
731-
signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
731+
__zbus__signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
732732
) -> #zbus::Result<()> {
733-
let header = ::std::option::Option::None::<&#zbus::message::Header<'_>>;
734-
let connection = signal_emitter.connection();
735-
let object_server = connection.object_server();
733+
let __zbus__header = ::std::option::Option::None::<&#zbus::message::Header<'_>>;
734+
let __zbus__connection = __zbus__signal_emitter.connection();
735+
let __zbus__object_server = __zbus__connection.object_server();
736736
#args_from_msg
737737
let mut changed = ::std::collections::HashMap::new();
738738
let value = <#zbus::zvariant::Value as ::std::convert::From<_>>::from(#prop_value_handled);
739739
changed.insert(#member_name, value);
740740
#zbus::fdo::Properties::properties_changed(
741-
signal_emitter,
741+
__zbus__signal_emitter,
742742
#zbus::names::InterfaceName::from_static_str_unchecked(#iface_name),
743743
changed,
744744
::std::borrow::Cow::Borrowed(&[]),
@@ -753,10 +753,10 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
753753
let prop_invalidate_method = quote!(
754754
pub async fn #prop_invalidate_method_name(
755755
&self,
756-
signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
756+
__zbus__signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
757757
) -> #zbus::Result<()> {
758758
#zbus::fdo::Properties::properties_changed(
759-
signal_emitter,
759+
__zbus__signal_emitter,
760760
#zbus::names::InterfaceName::from_static_str_unchecked(#iface_name),
761761
::std::collections::HashMap::new(),
762762
::std::borrow::Cow::Borrowed(&[#member_name]),
@@ -778,7 +778,7 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
778778
let future = async move {
779779
#args_from_msg
780780
let reply = self.#ident(#args_names)#method_await;
781-
let hdr = message.header();
781+
let hdr = __zbus__message.header();
782782
if hdr.primary().flags().contains(zbus::message::Flags::NoReplyExpected) {
783783
Ok(())
784784
} else {
@@ -876,24 +876,24 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
876876

877877
async fn get(
878878
&self,
879-
property_name: &str,
880-
object_server: &#zbus::ObjectServer,
881-
connection: &#zbus::Connection,
882-
header: Option<&#zbus::message::Header<'_>>,
883-
signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
879+
__zbus__property_name: &str,
880+
__zbus__object_server: &#zbus::ObjectServer,
881+
__zbus__connection: &#zbus::Connection,
882+
__zbus__header: Option<&#zbus::message::Header<'_>>,
883+
__zbus__signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
884884
) -> ::std::option::Option<#zbus::fdo::Result<#zbus::zvariant::OwnedValue>> {
885-
match property_name {
885+
match __zbus__property_name {
886886
#get_dispatch
887887
_ => ::std::option::Option::None,
888888
}
889889
}
890890

891891
async fn get_all(
892892
&self,
893-
object_server: &#zbus::ObjectServer,
894-
connection: &#zbus::Connection,
895-
header: Option<&#zbus::message::Header<'_>>,
896-
signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
893+
__zbus__object_server: &#zbus::ObjectServer,
894+
__zbus__connection: &#zbus::Connection,
895+
__zbus__header: Option<&#zbus::message::Header<'_>>,
896+
__zbus__signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
897897
) -> #zbus::fdo::Result<::std::collections::HashMap<
898898
::std::string::String,
899899
#zbus::zvariant::OwnedValue,
@@ -908,39 +908,39 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
908908

909909
fn set<'call>(
910910
&'call self,
911-
property_name: &'call str,
911+
__zbus__property_name: &'call str,
912912
value: &'call #zbus::zvariant::Value<'_>,
913-
object_server: &'call #zbus::ObjectServer,
914-
connection: &'call #zbus::Connection,
915-
header: Option<&'call #zbus::message::Header<'_>>,
916-
signal_emitter: &'call #zbus::object_server::SignalEmitter<'_>,
913+
__zbus__object_server: &'call #zbus::ObjectServer,
914+
__zbus__connection: &'call #zbus::Connection,
915+
__zbus__header: Option<&'call #zbus::message::Header<'_>>,
916+
__zbus__signal_emitter: &'call #zbus::object_server::SignalEmitter<'_>,
917917
) -> #zbus::object_server::DispatchResult<'call> {
918-
match property_name {
918+
match __zbus__property_name {
919919
#set_dispatch
920920
_ => #zbus::object_server::DispatchResult::NotFound,
921921
}
922922
}
923923

924924
async fn set_mut(
925925
&mut self,
926-
property_name: &str,
926+
__zbus__property_name: &str,
927927
value: &#zbus::zvariant::Value<'_>,
928-
object_server: &#zbus::ObjectServer,
929-
connection: &#zbus::Connection,
930-
header: Option<&#zbus::message::Header<'_>>,
931-
signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
928+
__zbus__object_server: &#zbus::ObjectServer,
929+
__zbus__connection: &#zbus::Connection,
930+
__zbus__header: Option<&#zbus::message::Header<'_>>,
931+
__zbus__signal_emitter: &#zbus::object_server::SignalEmitter<'_>,
932932
) -> ::std::option::Option<#zbus::fdo::Result<()>> {
933-
match property_name {
933+
match __zbus__property_name {
934934
#set_mut_dispatch
935935
_ => ::std::option::Option::None,
936936
}
937937
}
938938

939939
fn call<'call>(
940940
&'call self,
941-
object_server: &'call #zbus::ObjectServer,
942-
connection: &'call #zbus::Connection,
943-
message: &'call #zbus::message::Message,
941+
__zbus__object_server: &'call #zbus::ObjectServer,
942+
__zbus__connection: &'call #zbus::Connection,
943+
__zbus__message: &'call #zbus::message::Message,
944944
name: #zbus::names::MemberName<'call>,
945945
) -> #zbus::object_server::DispatchResult<'call> {
946946
match name.as_str() {
@@ -951,9 +951,9 @@ pub fn expand(args: Punctuated<Meta, Token![,]>, mut input: ItemImpl) -> syn::Re
951951

952952
fn call_mut<'call>(
953953
&'call mut self,
954-
object_server: &'call #zbus::ObjectServer,
955-
connection: &'call #zbus::Connection,
956-
message: &'call #zbus::message::Message,
954+
__zbus__object_server: &'call #zbus::ObjectServer,
955+
__zbus__connection: &'call #zbus::Connection,
956+
__zbus__message: &'call #zbus::message::Message,
957957
name: #zbus::names::MemberName<'call>,
958958
) -> #zbus::object_server::DispatchResult<'call> {
959959
match name.as_str() {
@@ -1016,7 +1016,7 @@ fn get_args_from_inputs(
10161016
}
10171017

10181018
let server_arg = &input.pat;
1019-
server_arg_decl = Some(quote! { let #server_arg = &object_server; });
1019+
server_arg_decl = Some(quote! { let #server_arg = &__zbus__object_server; });
10201020
} else if connection {
10211021
if conn_arg_decl.is_some() {
10221022
return Err(Error::new_spanned(
@@ -1026,7 +1026,7 @@ fn get_args_from_inputs(
10261026
}
10271027

10281028
let conn_arg = &input.pat;
1029-
conn_arg_decl = Some(quote! { let #conn_arg = &connection; });
1029+
conn_arg_decl = Some(quote! { let #conn_arg = &__zbus__connection; });
10301030
} else if header {
10311031
if header_arg_decl.is_some() {
10321032
return Err(Error::new_spanned(
@@ -1039,9 +1039,12 @@ fn get_args_from_inputs(
10391039

10401040
header_arg_decl = match method_type {
10411041
MethodType::Property(_) => Some(quote! {
1042-
let #header_arg = ::std::option::Option::<&#zbus::message::Header<'_>>::cloned(header);
1042+
let #header_arg =
1043+
::std::option::Option::<&#zbus::message::Header<'_>>::cloned(
1044+
__zbus__header,
1045+
);
10431046
}),
1044-
_ => Some(quote! { let #header_arg = message.header(); }),
1047+
_ => Some(quote! { let #header_arg = __zbus__message.header(); }),
10451048
};
10461049
} else if signal_context || signal_emitter {
10471050
if signal_emitter_arg_decl.is_some() {
@@ -1055,16 +1058,16 @@ fn get_args_from_inputs(
10551058

10561059
signal_emitter_arg_decl = match method_type {
10571060
MethodType::Property(_) => Some(
1058-
quote! { let #signal_context_arg = ::std::clone::Clone::clone(signal_emitter); },
1061+
quote! { let #signal_context_arg = ::std::clone::Clone::clone(__zbus__signal_emitter); },
10591062
),
10601063
_ => Some(quote! {
10611064
let #signal_context_arg = match hdr.path() {
10621065
::std::option::Option::Some(p) => {
1063-
#zbus::object_server::SignalEmitter::new(connection, p).expect("Infallible conversion failed")
1066+
#zbus::object_server::SignalEmitter::new(__zbus__connection, p).expect("Infallible conversion failed")
10641067
}
10651068
::std::option::Option::None => {
10661069
let err = #zbus::fdo::Error::UnknownObject("Path Required".into());
1067-
return connection.reply_dbus_error(&hdr, err).await;
1070+
return __zbus__connection.reply_dbus_error(&hdr, err).await;
10681071
}
10691072
};
10701073
}),
@@ -1078,20 +1081,20 @@ fn get_args_from_inputs(
10781081
let (hdr_init, msg_init, args_decl) = match method_type {
10791082
MethodType::Property(PropertyType::Getter) => (quote! {}, quote! {}, quote! {}),
10801083
MethodType::Property(PropertyType::Setter) => (
1081-
quote! { let hdr = header.as_ref().unwrap(); },
1084+
quote! { let hdr = __zbus__header.as_ref().unwrap(); },
10821085
quote! {},
10831086
quote! {},
10841087
),
10851088
_ => (
1086-
quote! { let hdr = message.header(); },
1087-
quote! { let msg_body = message.body(); },
1089+
quote! { let hdr = __zbus__message.header(); },
1090+
quote! { let msg_body = __zbus__message.body(); },
10881091
quote! {
10891092
let (#(#args_names),*): (#(#tys),*) =
10901093
match msg_body.deserialize() {
10911094
::std::result::Result::Ok(r) => r,
10921095
::std::result::Result::Err(e) => {
10931096
let err = <#zbus::fdo::Error as ::std::convert::From<_>>::from(e);
1094-
return connection.reply_dbus_error(&hdr, err).await;
1097+
return __zbus__connection.reply_dbus_error(&hdr, err).await;
10951098
}
10961099
};
10971100
},

0 commit comments

Comments
 (0)