MBNNAdasisConfigBuilder.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. // This file is generated and will be overwritten automatically.
  2. #import <Foundation/Foundation.h>
  3. @class MBNNAdasisConfig;
  4. NS_SWIFT_NAME(AdasisConfigBuilder)
  5. __attribute__((visibility ("default")))
  6. @interface MBNNAdasisConfigBuilder : NSObject
  7. // This class provides custom init which should be called
  8. - (nonnull instancetype)init NS_UNAVAILABLE;
  9. // This class provides custom init which should be called
  10. + (nonnull instancetype)new NS_UNAVAILABLE;
  11. /** Returns default ADASIS v2 config. */
  12. + (nonnull MBNNAdasisConfig *)defaultOptions __attribute((ns_returns_retained));
  13. /**
  14. * Builds adasis v2 configuration from JSON.
  15. * Example JSON:
  16. * ``` {
  17. * "cycleTimes": {
  18. * "metadataCycleOnStartMs": 100,
  19. * "metadataCycleSeconds": 5,
  20. * "positionCycleMs": 200
  21. * },
  22. * "dataSending": {
  23. * "messageIntervalMs": 80,
  24. * "messagesInPackage": 4,
  25. * "sortProfileshortsByOffset": true,
  26. * "sortProfilelongsByOffset": true,
  27. * "enableRetransmission": true
  28. * },
  29. * "pathsConfigs": {
  30. * "mpp": {
  31. * "stub": {
  32. * "enable": true,
  33. * "radiusMeters": 2000,
  34. * "repetitionMeters": 300
  35. * },
  36. * "segment": {
  37. * "enable": true,
  38. * "radiusMeters": 2000,
  39. * "repetitionMeters": 300
  40. * },
  41. * "profileshort": {
  42. * "enable": true,
  43. * "radiusMeters": 2000,
  44. * "repetitionMeters": 300,
  45. * "types": {
  46. * "slopeStep": false,
  47. * "slopeLinear": true,
  48. * "curvature": true,
  49. * "routeNumTypes": false,
  50. * "roadCondition": true,
  51. * "roadAccessibility": true,
  52. * "variableSpeedSign": false,
  53. * "headingChange": true
  54. * }
  55. * },
  56. * "profilelong": {
  57. * "enable": true,
  58. * "radiusMeters": 2000,
  59. * "repetitionMeters": 300,
  60. * "types": {
  61. * "lat": true,
  62. * "lon": true,
  63. * "alt": true,
  64. * "trafficSign": false,
  65. * "extendedLane": false
  66. * }
  67. * }
  68. * },
  69. * "level1": {
  70. * "stub": {
  71. * "enable": true,
  72. * "radiusMeters": 300,
  73. * "repetitionMeters": 0
  74. * },
  75. * "segment": {
  76. * "enable": true,
  77. * "radiusMeters": 500,
  78. * "repetitionMeters": 100
  79. * },
  80. * "profileshort": {
  81. * "enable": true,
  82. * "radiusMeters": 500,
  83. * "repetitionMeters": 200,
  84. * "types": {
  85. * "slopeStep": false,
  86. * "slopeLinear": true,
  87. * "curvature": true,
  88. * "routeNumTypes": false,
  89. * "roadCondition": true,
  90. * "roadAccessibility": true,
  91. * "variableSpeedSign": false,
  92. * "headingChange": true
  93. * }
  94. * },
  95. * "profilelong": {
  96. * "enable": true,
  97. * "radiusMeters": 300,
  98. * "repetitionMeters": 30,
  99. * "types": {
  100. * "lat": true,
  101. * "lon": true,
  102. * "alt": true,
  103. * "trafficSign": false,
  104. * "extendedLane": false
  105. * }
  106. * }
  107. * },
  108. * "level2": {
  109. * "stub": {
  110. * "enable": true,
  111. * "radiusMeters": 200,
  112. * "repetitionMeters": 0
  113. * },
  114. * "segment": {
  115. * "enable": true,
  116. * "radiusMeters": 300,
  117. * "repetitionMeters": 100
  118. * },
  119. * "profileshort": {
  120. * "enable": true,
  121. * "radiusMeters": 300,
  122. * "repetitionMeters": 200,
  123. * "types": {
  124. * "slopeStep": false,
  125. * "slopeLinear": true,
  126. * "curvature": true,
  127. * "routeNumTypes": false,
  128. * "roadCondition": true,
  129. * "roadAccessibility": true,
  130. * "variableSpeedSign": false,
  131. * "headingChange": true
  132. * }
  133. * },
  134. * "profilelong": {
  135. * "enable": false,
  136. * "radiusMeters": 200,
  137. * "repetitionMeters": 30,
  138. * "types": {
  139. * "lat": true,
  140. * "lon": true,
  141. * "alt": true,
  142. * "trafficSign": false,
  143. * "extendedLane": false
  144. * }
  145. * }
  146. * }
  147. * }
  148. * }
  149. * ```
  150. */
  151. + (nonnull MBNNAdasisConfig *)fromJsonForJson:(nonnull NSString *)json __attribute((ns_returns_retained));
  152. @end