@@ -127,6 +127,7 @@ pub fn generate_rust_signal(
127
127
if !signal. private {
128
128
cxx_mod_contents. push ( parse_quote_spanned ! {
129
129
span=>
130
+ #( #cfgs) *
130
131
#unsafety_block extern "C++" {
131
132
#[ cxx_name = #cpp_ident]
132
133
#( #cfgs) *
@@ -144,22 +145,27 @@ pub fn generate_rust_signal(
144
145
unsafe extern "C++" {
145
146
#[ doc( hidden) ]
146
147
#[ namespace = #namespace_str]
148
+ #( #cfgs) *
147
149
type #signal_handler_alias = cxx_qt:: signalhandler:: CxxQtSignalHandler <super :: #closure_struct>;
148
150
149
151
#[ doc( hidden) ]
150
152
#[ namespace = #namespace_str]
151
153
#[ cxx_name = #free_connect_ident_cpp]
154
+ #( #cfgs) *
152
155
fn #free_connect_ident_rust( self_value: #self_type_cxx, signal_handler: #signal_handler_alias, conn_type: CxxQtConnectionType ) -> CxxQtQMetaObjectConnection ;
153
156
}
154
157
} ,
155
158
parse_quote_spanned! {
156
159
span=>
157
160
#[ namespace = #namespace_str]
161
+ #( #cfgs) *
158
162
extern "Rust" {
159
163
#[ doc( hidden) ]
164
+ #( #cfgs) *
160
165
fn #signal_handler_drop( handler: #signal_handler_alias) ;
161
166
162
167
#[ doc( hidden) ]
168
+ #( #cfgs) *
163
169
#unsafe_call fn #signal_handler_call( handler: & mut #signal_handler_alias, self_value: #self_type_cxx, #( #parameters_cxx) , * ) ;
164
170
}
165
171
} ] ) ;
@@ -174,6 +180,7 @@ pub fn generate_rust_signal(
174
180
#[ doc = "Connect the given function pointer to the signal " ]
175
181
#[ doc = #signal_name_cpp]
176
182
#[ doc = ", so that when the signal is emitted the function pointer is executed." ]
183
+ #( #cfgs) *
177
184
pub fn #connect_ident_rust<F : FnMut ( #self_type_qualified, #( #parameters_qualified_type) , * ) + ' static + Send >( self : #self_type_qualified, closure: F , conn_type: cxx_qt:: ConnectionType ) -> cxx_qt:: QMetaObjectConnectionGuard
178
185
{
179
186
cxx_qt:: QMetaObjectConnectionGuard :: from( #module_ident:: #free_connect_ident_rust(
@@ -193,6 +200,7 @@ pub fn generate_rust_signal(
193
200
#[ doc = ", so that when the signal is emitted the function pointer is executed." ]
194
201
#[ doc = "\n " ]
195
202
#[ doc = "Note that this method uses a AutoConnection connection type." ]
203
+ #( #cfgs) *
196
204
pub fn #on_ident_rust<F : FnMut ( #self_type_qualified, #( #parameters_qualified_type) , * ) + ' static + Send >( self : #self_type_qualified, closure: F ) -> cxx_qt:: QMetaObjectConnectionGuard
197
205
{
198
206
cxx_qt:: QMetaObjectConnectionGuard :: from( #module_ident:: #free_connect_ident_rust(
@@ -213,7 +221,9 @@ pub fn generate_rust_signal(
213
221
span =>
214
222
#( #cfgs) *
215
223
impl cxx_qt:: signalhandler:: CxxQtSignalHandlerClosure for #closure_struct {
224
+ #( #cfgs) *
216
225
type Id = cxx:: type_id!( #signal_handler_alias_namespaced_str) ;
226
+ #( #cfgs) *
217
227
type FnType = dyn FnMut ( #self_type_qualified, #( #parameters_qualified_type) , * ) + Send ;
218
228
}
219
229
} ,
0 commit comments