| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- // This file is generated and will be overwritten automatically.
- #import <Foundation/Foundation.h>
- @class MBNNRoadObject;
- @class MBNNRoadObjectEdgeLocation;
- @protocol MBNNRoadObjectsStoreObserver;
- /** NN users shouldn't create instances of `RoadObjectsStore`, use `Navigator.roadObjectsStore` method instead */
- NS_SWIFT_NAME(RoadObjectsStore)
- __attribute__((visibility ("default")))
- @interface MBNNRoadObjectsStore : NSObject
- // This class provides custom init which should be called
- - (nonnull instancetype)init NS_UNAVAILABLE;
- // This class provides custom init which should be called
- + (nonnull instancetype)new NS_UNAVAILABLE;
- /**
- * Returns mapping `road object id -> RoadObjectEdgeLocation` for all road objects
- * which are lying on the edge with given id.
- * @param edgeId
- */
- - (nonnull NSDictionary<NSString *, MBNNRoadObjectEdgeLocation *> *)getForEdgeId:(uint64_t)edgeId __attribute((ns_returns_retained));
- /**
- * Returns road object by `id`
- * @param road object id
- */
- - (nullable MBNNRoadObject *)getRoadObjectForId:(nonnull NSString *)id __attribute((ns_returns_retained));
- /**
- * Adds road object to be tracked in electronic horizon. In case if object with such id already exists updates it.
- * @param id unique id of object
- * @param roadObject road object
- * NB: road objects obtained from route alerts cannot be added via this API
- */
- - (void)addCustomRoadObjectForRoadObject:(nonnull MBNNRoadObject *)roadObject;
- /**
- * Removes road object(i.e. stops tracking it in electronic horizon).
- * Does nothing if object with such id is not found. Observer is notified only if the object existed in the store.
- * @param id of road object
- */
- - (void)removeCustomRoadObjectForId:(nonnull NSString *)id;
- /**
- * Removes a bunch of custom road objects(i.e. stops tracking them in electronic horizon).
- * Calls `onRoadObjectRemoved` callback only for the ids that have existed in the store.
- * Does nothing for the ids that haven't existed there.
- */
- - (void)removeCustomRoadObjectsForIds:(nonnull NSArray<NSString *> *)ids;
- /**
- * Removes all road object(i.e. stops tracking them in electronic horizon)
- * @param id of road object
- */
- - (void)removeAllCustomRoadObjects;
- /**
- * Returns list of road object ids which are (partially) belong to `edgeIds`.
- * @param edgeIds list of edge ids
- */
- - (nonnull NSArray<NSString *> *)getRoadObjectIdsByEdgeIdsForEdgeIds:(nonnull NSArray<NSNumber *> *)edgeIds __attribute((ns_returns_retained));
- /** Checks whether observers are added. */
- - (BOOL)hasObservers;
- /** Adds observer for objects changes. */
- - (void)addObserverForObserver:(nonnull id<MBNNRoadObjectsStoreObserver>)observer;
- /** Removes observer for objects changes. */
- - (void)removeObserverForObserver:(nonnull id<MBNNRoadObjectsStoreObserver>)observer;
- @end
|