@@ -25,8 +25,13 @@ import NIO
25
25
import SwiftProtobuf
26
26
27
27
28
- /// Usage: instantiate Mavsdk_Rpc_Calibration_CalibrationServiceClient, then call methods of this protocol to make API calls.
28
+ /// Enable to calibrate sensors of a drone such as gyro, accelerometer, and magnetometer.
29
+ ///
30
+ /// Usage: instantiate `Mavsdk_Rpc_Calibration_CalibrationServiceClient`, then call methods of this protocol to make API calls.
29
31
internal protocol Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol : GRPCClient {
32
+ var serviceName : String { get }
33
+ var interceptors : Mavsdk_Rpc_Calibration_CalibrationServiceClientInterceptorFactoryProtocol ? { get }
34
+
30
35
func subscribeCalibrateGyro(
31
36
_ request: Mavsdk_Rpc_Calibration_SubscribeCalibrateGyroRequest ,
32
37
callOptions: CallOptions ? ,
@@ -61,10 +66,12 @@ internal protocol Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol: GRPCC
61
66
_ request: Mavsdk_Rpc_Calibration_CancelRequest ,
62
67
callOptions: CallOptions ?
63
68
) -> UnaryCall < Mavsdk_Rpc_Calibration_CancelRequest , Mavsdk_Rpc_Calibration_CancelResponse >
64
-
65
69
}
66
70
67
71
extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
72
+ internal var serviceName : String {
73
+ return " mavsdk.rpc.calibration.CalibrationService "
74
+ }
68
75
69
76
/// Perform gyro calibration.
70
77
///
@@ -82,6 +89,7 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
82
89
path: " /mavsdk.rpc.calibration.CalibrationService/SubscribeCalibrateGyro " ,
83
90
request: request,
84
91
callOptions: callOptions ?? self . defaultCallOptions,
92
+ interceptors: self . interceptors? . makeSubscribeCalibrateGyroInterceptors ( ) ?? [ ] ,
85
93
handler: handler
86
94
)
87
95
}
@@ -102,6 +110,7 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
102
110
path: " /mavsdk.rpc.calibration.CalibrationService/SubscribeCalibrateAccelerometer " ,
103
111
request: request,
104
112
callOptions: callOptions ?? self . defaultCallOptions,
113
+ interceptors: self . interceptors? . makeSubscribeCalibrateAccelerometerInterceptors ( ) ?? [ ] ,
105
114
handler: handler
106
115
)
107
116
}
@@ -122,6 +131,7 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
122
131
path: " /mavsdk.rpc.calibration.CalibrationService/SubscribeCalibrateMagnetometer " ,
123
132
request: request,
124
133
callOptions: callOptions ?? self . defaultCallOptions,
134
+ interceptors: self . interceptors? . makeSubscribeCalibrateMagnetometerInterceptors ( ) ?? [ ] ,
125
135
handler: handler
126
136
)
127
137
}
@@ -142,6 +152,7 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
142
152
path: " /mavsdk.rpc.calibration.CalibrationService/SubscribeCalibrateLevelHorizon " ,
143
153
request: request,
144
154
callOptions: callOptions ?? self . defaultCallOptions,
155
+ interceptors: self . interceptors? . makeSubscribeCalibrateLevelHorizonInterceptors ( ) ?? [ ] ,
145
156
handler: handler
146
157
)
147
158
}
@@ -162,6 +173,7 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
162
173
path: " /mavsdk.rpc.calibration.CalibrationService/SubscribeCalibrateGimbalAccelerometer " ,
163
174
request: request,
164
175
callOptions: callOptions ?? self . defaultCallOptions,
176
+ interceptors: self . interceptors? . makeSubscribeCalibrateGimbalAccelerometerInterceptors ( ) ?? [ ] ,
165
177
handler: handler
166
178
)
167
179
}
@@ -179,38 +191,76 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
179
191
return self . makeUnaryCall (
180
192
path: " /mavsdk.rpc.calibration.CalibrationService/Cancel " ,
181
193
request: request,
182
- callOptions: callOptions ?? self . defaultCallOptions
194
+ callOptions: callOptions ?? self . defaultCallOptions,
195
+ interceptors: self . interceptors? . makeCancelInterceptors ( ) ?? [ ]
183
196
)
184
197
}
185
198
}
186
199
200
+ internal protocol Mavsdk_Rpc_Calibration_CalibrationServiceClientInterceptorFactoryProtocol {
201
+
202
+ /// - Returns: Interceptors to use when invoking 'subscribeCalibrateGyro'.
203
+ func makeSubscribeCalibrateGyroInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateGyroRequest , Mavsdk_Rpc_Calibration_CalibrateGyroResponse > ]
204
+
205
+ /// - Returns: Interceptors to use when invoking 'subscribeCalibrateAccelerometer'.
206
+ func makeSubscribeCalibrateAccelerometerInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateAccelerometerRequest , Mavsdk_Rpc_Calibration_CalibrateAccelerometerResponse > ]
207
+
208
+ /// - Returns: Interceptors to use when invoking 'subscribeCalibrateMagnetometer'.
209
+ func makeSubscribeCalibrateMagnetometerInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateMagnetometerRequest , Mavsdk_Rpc_Calibration_CalibrateMagnetometerResponse > ]
210
+
211
+ /// - Returns: Interceptors to use when invoking 'subscribeCalibrateLevelHorizon'.
212
+ func makeSubscribeCalibrateLevelHorizonInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateLevelHorizonRequest , Mavsdk_Rpc_Calibration_CalibrateLevelHorizonResponse > ]
213
+
214
+ /// - Returns: Interceptors to use when invoking 'subscribeCalibrateGimbalAccelerometer'.
215
+ func makeSubscribeCalibrateGimbalAccelerometerInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateGimbalAccelerometerRequest , Mavsdk_Rpc_Calibration_CalibrateGimbalAccelerometerResponse > ]
216
+
217
+ /// - Returns: Interceptors to use when invoking 'cancel'.
218
+ func makeCancelInterceptors( ) -> [ ClientInterceptor < Mavsdk_Rpc_Calibration_CancelRequest , Mavsdk_Rpc_Calibration_CancelResponse > ]
219
+ }
220
+
187
221
internal final class Mavsdk_Rpc_Calibration_CalibrationServiceClient : Mavsdk_Rpc_Calibration_CalibrationServiceClientProtocol {
188
222
internal let channel : GRPCChannel
189
223
internal var defaultCallOptions : CallOptions
224
+ internal var interceptors : Mavsdk_Rpc_Calibration_CalibrationServiceClientInterceptorFactoryProtocol ?
190
225
191
226
/// Creates a client for the mavsdk.rpc.calibration.CalibrationService service.
192
227
///
193
228
/// - Parameters:
194
229
/// - channel: `GRPCChannel` to the service host.
195
230
/// - defaultCallOptions: Options to use for each service call if the user doesn't provide them.
196
- internal init ( channel: GRPCChannel , defaultCallOptions: CallOptions = CallOptions ( ) ) {
231
+ /// - interceptors: A factory providing interceptors for each RPC.
232
+ internal init (
233
+ channel: GRPCChannel ,
234
+ defaultCallOptions: CallOptions = CallOptions ( ) ,
235
+ interceptors: Mavsdk_Rpc_Calibration_CalibrationServiceClientInterceptorFactoryProtocol ? = nil
236
+ ) {
197
237
self . channel = channel
198
238
self . defaultCallOptions = defaultCallOptions
239
+ self . interceptors = interceptors
199
240
}
200
241
}
201
242
243
+ /// Enable to calibrate sensors of a drone such as gyro, accelerometer, and magnetometer.
244
+ ///
202
245
/// To build a server, implement a class that conforms to this protocol.
203
246
internal protocol Mavsdk_Rpc_Calibration_CalibrationServiceProvider : CallHandlerProvider {
247
+ var interceptors : Mavsdk_Rpc_Calibration_CalibrationServiceServerInterceptorFactoryProtocol ? { get }
248
+
204
249
/// Perform gyro calibration.
205
250
func subscribeCalibrateGyro( request: Mavsdk_Rpc_Calibration_SubscribeCalibrateGyroRequest , context: StreamingResponseCallContext < Mavsdk_Rpc_Calibration_CalibrateGyroResponse > ) -> EventLoopFuture < GRPCStatus >
251
+
206
252
/// Perform accelerometer calibration.
207
253
func subscribeCalibrateAccelerometer( request: Mavsdk_Rpc_Calibration_SubscribeCalibrateAccelerometerRequest , context: StreamingResponseCallContext < Mavsdk_Rpc_Calibration_CalibrateAccelerometerResponse > ) -> EventLoopFuture < GRPCStatus >
254
+
208
255
/// Perform magnetometer calibration.
209
256
func subscribeCalibrateMagnetometer( request: Mavsdk_Rpc_Calibration_SubscribeCalibrateMagnetometerRequest , context: StreamingResponseCallContext < Mavsdk_Rpc_Calibration_CalibrateMagnetometerResponse > ) -> EventLoopFuture < GRPCStatus >
257
+
210
258
/// Perform board level horizon calibration.
211
259
func subscribeCalibrateLevelHorizon( request: Mavsdk_Rpc_Calibration_SubscribeCalibrateLevelHorizonRequest , context: StreamingResponseCallContext < Mavsdk_Rpc_Calibration_CalibrateLevelHorizonResponse > ) -> EventLoopFuture < GRPCStatus >
260
+
212
261
/// Perform gimbal accelerometer calibration.
213
262
func subscribeCalibrateGimbalAccelerometer( request: Mavsdk_Rpc_Calibration_SubscribeCalibrateGimbalAccelerometerRequest , context: StreamingResponseCallContext < Mavsdk_Rpc_Calibration_CalibrateGimbalAccelerometerResponse > ) -> EventLoopFuture < GRPCStatus >
263
+
214
264
/// Cancel ongoing calibration process.
215
265
func cancel( request: Mavsdk_Rpc_Calibration_CancelRequest , context: StatusOnlyCallContext ) -> EventLoopFuture < Mavsdk_Rpc_Calibration_CancelResponse >
216
266
}
@@ -220,52 +270,94 @@ extension Mavsdk_Rpc_Calibration_CalibrationServiceProvider {
220
270
221
271
/// Determines, calls and returns the appropriate request handler, depending on the request's method.
222
272
/// Returns nil for methods not handled by this service.
223
- internal func handleMethod( _ methodName: Substring , callHandlerContext: CallHandlerContext ) -> GRPCCallHandler ? {
224
- switch methodName {
273
+ internal func handle(
274
+ method name: Substring ,
275
+ context: CallHandlerContext
276
+ ) -> GRPCServerHandlerProtocol ? {
277
+ switch name {
225
278
case " SubscribeCalibrateGyro " :
226
- return CallHandlerFactory . makeServerStreaming ( callHandlerContext: callHandlerContext) { context in
227
- return { request in
228
- self . subscribeCalibrateGyro ( request: request, context: context)
229
- }
230
- }
279
+ return ServerStreamingServerHandler (
280
+ context: context,
281
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_SubscribeCalibrateGyroRequest > ( ) ,
282
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CalibrateGyroResponse > ( ) ,
283
+ interceptors: self . interceptors? . makeSubscribeCalibrateGyroInterceptors ( ) ?? [ ] ,
284
+ userFunction: self . subscribeCalibrateGyro ( request: context: )
285
+ )
231
286
232
287
case " SubscribeCalibrateAccelerometer " :
233
- return CallHandlerFactory . makeServerStreaming ( callHandlerContext: callHandlerContext) { context in
234
- return { request in
235
- self . subscribeCalibrateAccelerometer ( request: request, context: context)
236
- }
237
- }
288
+ return ServerStreamingServerHandler (
289
+ context: context,
290
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_SubscribeCalibrateAccelerometerRequest > ( ) ,
291
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CalibrateAccelerometerResponse > ( ) ,
292
+ interceptors: self . interceptors? . makeSubscribeCalibrateAccelerometerInterceptors ( ) ?? [ ] ,
293
+ userFunction: self . subscribeCalibrateAccelerometer ( request: context: )
294
+ )
238
295
239
296
case " SubscribeCalibrateMagnetometer " :
240
- return CallHandlerFactory . makeServerStreaming ( callHandlerContext: callHandlerContext) { context in
241
- return { request in
242
- self . subscribeCalibrateMagnetometer ( request: request, context: context)
243
- }
244
- }
297
+ return ServerStreamingServerHandler (
298
+ context: context,
299
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_SubscribeCalibrateMagnetometerRequest > ( ) ,
300
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CalibrateMagnetometerResponse > ( ) ,
301
+ interceptors: self . interceptors? . makeSubscribeCalibrateMagnetometerInterceptors ( ) ?? [ ] ,
302
+ userFunction: self . subscribeCalibrateMagnetometer ( request: context: )
303
+ )
245
304
246
305
case " SubscribeCalibrateLevelHorizon " :
247
- return CallHandlerFactory . makeServerStreaming ( callHandlerContext: callHandlerContext) { context in
248
- return { request in
249
- self . subscribeCalibrateLevelHorizon ( request: request, context: context)
250
- }
251
- }
306
+ return ServerStreamingServerHandler (
307
+ context: context,
308
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_SubscribeCalibrateLevelHorizonRequest > ( ) ,
309
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CalibrateLevelHorizonResponse > ( ) ,
310
+ interceptors: self . interceptors? . makeSubscribeCalibrateLevelHorizonInterceptors ( ) ?? [ ] ,
311
+ userFunction: self . subscribeCalibrateLevelHorizon ( request: context: )
312
+ )
252
313
253
314
case " SubscribeCalibrateGimbalAccelerometer " :
254
- return CallHandlerFactory . makeServerStreaming ( callHandlerContext: callHandlerContext) { context in
255
- return { request in
256
- self . subscribeCalibrateGimbalAccelerometer ( request: request, context: context)
257
- }
258
- }
315
+ return ServerStreamingServerHandler (
316
+ context: context,
317
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_SubscribeCalibrateGimbalAccelerometerRequest > ( ) ,
318
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CalibrateGimbalAccelerometerResponse > ( ) ,
319
+ interceptors: self . interceptors? . makeSubscribeCalibrateGimbalAccelerometerInterceptors ( ) ?? [ ] ,
320
+ userFunction: self . subscribeCalibrateGimbalAccelerometer ( request: context: )
321
+ )
259
322
260
323
case " Cancel " :
261
- return CallHandlerFactory . makeUnary ( callHandlerContext: callHandlerContext) { context in
262
- return { request in
263
- self . cancel ( request: request, context: context)
264
- }
265
- }
324
+ return UnaryServerHandler (
325
+ context: context,
326
+ requestDeserializer: ProtobufDeserializer < Mavsdk_Rpc_Calibration_CancelRequest > ( ) ,
327
+ responseSerializer: ProtobufSerializer < Mavsdk_Rpc_Calibration_CancelResponse > ( ) ,
328
+ interceptors: self . interceptors? . makeCancelInterceptors ( ) ?? [ ] ,
329
+ userFunction: self . cancel ( request: context: )
330
+ )
266
331
267
- default : return nil
332
+ default :
333
+ return nil
268
334
}
269
335
}
270
336
}
271
337
338
+ internal protocol Mavsdk_Rpc_Calibration_CalibrationServiceServerInterceptorFactoryProtocol {
339
+
340
+ /// - Returns: Interceptors to use when handling 'subscribeCalibrateGyro'.
341
+ /// Defaults to calling `self.makeInterceptors()`.
342
+ func makeSubscribeCalibrateGyroInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateGyroRequest , Mavsdk_Rpc_Calibration_CalibrateGyroResponse > ]
343
+
344
+ /// - Returns: Interceptors to use when handling 'subscribeCalibrateAccelerometer'.
345
+ /// Defaults to calling `self.makeInterceptors()`.
346
+ func makeSubscribeCalibrateAccelerometerInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateAccelerometerRequest , Mavsdk_Rpc_Calibration_CalibrateAccelerometerResponse > ]
347
+
348
+ /// - Returns: Interceptors to use when handling 'subscribeCalibrateMagnetometer'.
349
+ /// Defaults to calling `self.makeInterceptors()`.
350
+ func makeSubscribeCalibrateMagnetometerInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateMagnetometerRequest , Mavsdk_Rpc_Calibration_CalibrateMagnetometerResponse > ]
351
+
352
+ /// - Returns: Interceptors to use when handling 'subscribeCalibrateLevelHorizon'.
353
+ /// Defaults to calling `self.makeInterceptors()`.
354
+ func makeSubscribeCalibrateLevelHorizonInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateLevelHorizonRequest , Mavsdk_Rpc_Calibration_CalibrateLevelHorizonResponse > ]
355
+
356
+ /// - Returns: Interceptors to use when handling 'subscribeCalibrateGimbalAccelerometer'.
357
+ /// Defaults to calling `self.makeInterceptors()`.
358
+ func makeSubscribeCalibrateGimbalAccelerometerInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_SubscribeCalibrateGimbalAccelerometerRequest , Mavsdk_Rpc_Calibration_CalibrateGimbalAccelerometerResponse > ]
359
+
360
+ /// - Returns: Interceptors to use when handling 'cancel'.
361
+ /// Defaults to calling `self.makeInterceptors()`.
362
+ func makeCancelInterceptors( ) -> [ ServerInterceptor < Mavsdk_Rpc_Calibration_CancelRequest , Mavsdk_Rpc_Calibration_CancelResponse > ]
363
+ }
0 commit comments