blob: 79cc6c93da02c561f0b3a88bc4db5963dd828136 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#import "MWMRouter.h"
#include "Framework.h"
@interface MWMRouter ()
@property(nonatomic) uint32_t routeManagerTransactionId;
+ (MWMRouter *)router;
@end
@implementation MWMRouter (RouteManager)
+ (void)openRouteManagerTransaction
{
auto router = [MWMRouter router];
router.routeManagerTransactionId =
GetFramework().GetRoutingManager().OpenRoutePointsTransaction();
}
+ (void)applyRouteManagerTransaction
{
auto router = [MWMRouter router];
if (router.routeManagerTransactionId == RoutingManager::InvalidRoutePointsTransactionId())
return;
GetFramework().GetRoutingManager().ApplyRoutePointsTransaction(router.routeManagerTransactionId);
router.routeManagerTransactionId = RoutingManager::InvalidRoutePointsTransactionId();
}
+ (void)cancelRouteManagerTransaction
{
auto router = [MWMRouter router];
if (router.routeManagerTransactionId == RoutingManager::InvalidRoutePointsTransactionId())
return;
auto & rm = GetFramework().GetRoutingManager();
rm.CancelRoutePointsTransaction(router.routeManagerTransactionId);
router.routeManagerTransactionId = RoutingManager::InvalidRoutePointsTransactionId();
rm.CancelPreviewMode();
}
+ (void)movePointAtIndex:(NSInteger)index toIndex:(NSInteger)newIndex
{
NSAssert(index != newIndex, @"Route manager moves point to its' current position.");
auto & rm = GetFramework().GetRoutingManager();
rm.MoveRoutePoint(index, newIndex);
rm.UpdatePreviewMode();
}
@end
|