Files
comaps/iphone/Maps/Core/Settings/MWMRoutingOptions.mm
Konstantin Pastbin aea784ddd7 [ios] Format all Obj C code via clang-format
Signed-off-by: Konstantin Pastbin <konstantin.pastbin@gmail.com>
2025-08-17 16:37:15 +07:00

91 lines
1.8 KiB
Plaintext

#import "MWMRoutingOptions.h"
#include "routing/routing_options.hpp"
@interface MWMRoutingOptions ()
{
routing::RoutingOptions _options;
}
@end
@implementation MWMRoutingOptions
- (instancetype)init
{
self = [super init];
if (self)
_options = routing::RoutingOptions::LoadCarOptionsFromSettings();
return self;
}
- (BOOL)avoidToll
{
return _options.Has(routing::RoutingOptions::Road::Toll);
}
- (void)setAvoidToll:(BOOL)avoid
{
[self setOption:(routing::RoutingOptions::Road::Toll) enabled:avoid];
}
- (BOOL)avoidDirty
{
return _options.Has(routing::RoutingOptions::Road::Dirty);
}
- (void)setAvoidDirty:(BOOL)avoid
{
[self setOption:(routing::RoutingOptions::Road::Dirty) enabled:avoid];
}
- (BOOL)avoidFerry
{
return _options.Has(routing::RoutingOptions::Road::Ferry);
}
- (void)setAvoidFerry:(BOOL)avoid
{
[self setOption:(routing::RoutingOptions::Road::Ferry) enabled:avoid];
}
- (BOOL)avoidMotorway
{
return _options.Has(routing::RoutingOptions::Road::Motorway);
}
- (void)setAvoidMotorway:(BOOL)avoid
{
[self setOption:(routing::RoutingOptions::Road::Motorway) enabled:avoid];
}
- (BOOL)hasOptions
{
return self.avoidToll || self.avoidDirty || self.avoidFerry || self.avoidMotorway;
}
- (void)save
{
routing::RoutingOptions::SaveCarOptionsToSettings(_options);
}
- (void)setOption:(routing::RoutingOptions::Road)option enabled:(BOOL)enabled
{
if (enabled)
_options.Add(option);
else
_options.Remove(option);
}
- (BOOL)isEqual:(id)object
{
if (![object isMemberOfClass:self.class])
return NO;
MWMRoutingOptions * another = (MWMRoutingOptions *)object;
return another.avoidToll == self.avoidToll && another.avoidDirty == self.avoidDirty &&
another.avoidFerry == self.avoidFerry && another.avoidMotorway == self.avoidMotorway;
}
@end