@@ -154,8 +154,7 @@ mod imp {
154
154
wp_om. request_object_features ( wp:: pw:: GlobalProxy :: static_type ( ) , wp:: core:: ObjectFeatures :: ALL ) ;
155
155
156
156
wp_om. connect_object_added ( clone ! ( @weak self as imp, @weak wp_core as core => move |_, object| {
157
- let devicemodel = & imp. device_model;
158
- if let Some ( node) = object. dynamic_cast_ref:: <wp:: pw:: Node >( ) {
157
+ if let Some ( node) = object. downcast_ref:: <wp:: pw:: Node >( ) {
159
158
let mut hidden: bool = false ;
160
159
// Hide ourselves.
161
160
if node. name( ) . unwrap_or_default( ) == "pwvucontrol-peak-detect" {
@@ -185,22 +184,20 @@ mod imp {
185
184
pwvucontrol_info!( "Got node: {} bound id {}" , node. name( ) . unwrap_or_default( ) , node. bound_id( ) ) ;
186
185
let pwobj = PwNodeObject :: new( node) ;
187
186
pwobj. set_hidden( hidden) ;
188
- let model = & imp. node_model;
189
- model. append( & pwobj) ;
190
- } else if let Some ( device) = object. dynamic_cast_ref:: <wp:: pw:: Device >( ) {
191
- let n: String = device. pw_property( "device.name" ) . unwrap( ) ;
192
- pwvucontrol_info!( "Got device: {n} bound id {}" , device. bound_id( ) ) ;
193
- devicemodel. append( & PwDeviceObject :: new( device) ) ;
187
+ imp. node_model. append( & pwobj) ;
188
+ } else if let Some ( device) = object. downcast_ref:: <wp:: pw:: Device >( ) {
189
+ pwvucontrol_info!( "Got device: {} bound id {}" , device. pw_property:: <String >( "device.name" ) . unwrap_or_default( ) , device. bound_id( ) ) ;
190
+ imp. device_model. append( & PwDeviceObject :: new( device) ) ;
194
191
} else {
195
192
unreachable!( "Object must be one of the above, but is {:?} instead" , object. type_( ) ) ;
196
193
}
197
194
} ) ) ;
198
195
199
196
wp_om. connect_object_removed ( clone ! ( @weak self as imp => move |_, object| {
200
- if let Some ( node) = object. dynamic_cast_ref :: <wp:: pw:: Node >( ) {
201
- pwvucontrol_info!( "removed: {:? } id: {}" , node. name( ) , node. bound_id( ) ) ;
197
+ if let Some ( node) = object. downcast_ref :: <wp:: pw:: Node >( ) {
198
+ pwvucontrol_info!( "removed: {} id: {}" , node. name( ) . unwrap_or_default ( ) , node. bound_id( ) ) ;
202
199
imp. obj( ) . remove_node_by_id( node. bound_id( ) ) ;
203
- } else if let Some ( device) = object. dynamic_cast_ref :: <wp:: pw:: Device >( ) {
200
+ } else if let Some ( device) = object. downcast_ref :: <wp:: pw:: Device >( ) {
204
201
imp. obj( ) . remove_device_by_id( device. bound_id( ) ) ;
205
202
} else {
206
203
pwvucontrol_info!( "Object must be one of the above, but is {:?} instead" , object. type_( ) ) ;
0 commit comments