File tree 2 files changed +23
-9
lines changed
2 files changed +23
-9
lines changed Original file line number Diff line number Diff line change @@ -26,10 +26,6 @@ Window {
26
26
27
27
EnergyUsage {
28
28
id: energyUsage
29
-
30
- // FIXME: have the ability to HandleInit so we can start the server
31
- // https://github.com/KDAB/cxx-qt/issues/13
32
- Component .onCompleted : startServer ()
33
29
}
34
30
35
31
Image {
Original file line number Diff line number Diff line change @@ -80,11 +80,9 @@ mod ffi {
80
80
/// A Q_INVOKABLE that returns the current power usage for a given uuid
81
81
#[ qinvokable]
82
82
fn sensor_power ( self : Pin < & mut qobject:: EnergyUsage > , uuid : & QString ) -> f64 ;
83
-
84
- /// A Q_INVOKABLE which starts the TCP server
85
- #[ qinvokable]
86
- fn start_server ( self : Pin < & mut qobject:: EnergyUsage > ) ;
87
83
}
84
+
85
+ impl cxx_qt:: Constructor < ( ) > for qobject:: EnergyUsage { }
88
86
}
89
87
90
88
use crate :: {
@@ -113,9 +111,29 @@ impl ffi::EnergyUsageQt {
113
111
0.0
114
112
}
115
113
}
114
+ }
115
+
116
+ impl cxx_qt:: Constructor < ( ) > for qobject:: EnergyUsage {
117
+ type NewArguments = ( ) ;
118
+ type BaseArguments = ( ) ;
119
+ type InitializeArguments = ( ) ;
120
+
121
+ fn route_arguments (
122
+ _args : ( ) ,
123
+ ) -> (
124
+ Self :: NewArguments ,
125
+ Self :: BaseArguments ,
126
+ Self :: InitializeArguments ,
127
+ ) {
128
+ ( ( ) , ( ) , ( ) )
129
+ }
130
+
131
+ fn new ( ( ) : ( ) ) -> EnergyUsage {
132
+ EnergyUsage :: default ( )
133
+ }
116
134
117
135
/// A Q_INVOKABLE which starts the TCP server
118
- fn start_server ( mut self : Pin < & mut Self > ) {
136
+ fn initialize ( mut self : core :: pin :: Pin < & mut Self > , _arguments : Self :: InitializeArguments ) {
119
137
if self . rust ( ) . join_handles . is_some ( ) {
120
138
println ! ( "Already running a server!" ) ;
121
139
return ;
You can’t perform that action at this time.
0 commit comments