diff options
author | Fredrik Karlsson <bjorn.fredrik.karlsson@gmail.com> | 2016-07-05 22:46:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-05 22:46:04 +0200 |
commit | 546469459fd7a2350cff40fc3e8896fe3581c2f6 (patch) | |
tree | f6bc98a314b59f03a071dc4c98a3ea5343fa35cc /platform/darwin | |
parent | b2197236b6592d10af6e9f6eccd9b3d4ee19aef3 (diff) | |
download | qtlocation-mapboxgl-546469459fd7a2350cff40fc3e8896fe3581c2f6.tar.gz |
[ios] #3979 compress telemetry events (#5490)
* [ios] #3979 wip gzip telemetry events
* [ios] expose compression from core instead of adding a new dependency
* [ios] #3979 Exposed decompress from mbgl and added a test case
* [ios] #3979 cleanup
* [ios] #3979 cleaned up test case
* [ios] #3979 cleanup
* [ios] #3979 gzip -> deflate
Diffstat (limited to 'platform/darwin')
-rw-r--r-- | platform/darwin/src/NSData+MGLAdditions.h | 15 | ||||
-rw-r--r-- | platform/darwin/src/NSData+MGLAdditions.mm | 23 |
2 files changed, 38 insertions, 0 deletions
diff --git a/platform/darwin/src/NSData+MGLAdditions.h b/platform/darwin/src/NSData+MGLAdditions.h new file mode 100644 index 0000000000..0c68c81f45 --- /dev/null +++ b/platform/darwin/src/NSData+MGLAdditions.h @@ -0,0 +1,15 @@ +#import <Foundation/Foundation.h> + +#import "MGLTypes.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface NSData (MGLAdditions) + +- (NSData *)mgl_compressedData; + +- (NSData *)mgl_decompressedData; + +@end + +NS_ASSUME_NONNULL_END diff --git a/platform/darwin/src/NSData+MGLAdditions.mm b/platform/darwin/src/NSData+MGLAdditions.mm new file mode 100644 index 0000000000..ef171c5e1e --- /dev/null +++ b/platform/darwin/src/NSData+MGLAdditions.mm @@ -0,0 +1,23 @@ +#import "NSData+MGLAdditions.h" + +#include <mbgl/util/compression.hpp> + +@implementation NSData (MGLAdditions) + +- (NSData *)mgl_compressedData +{ + std::string string(static_cast<const char*>(self.bytes), self.length); + std::string compressed_string = mbgl::util::compress(string); + + return [NSData dataWithBytes:&compressed_string[0] length:compressed_string.length()]; +} + +- (NSData *)mgl_decompressedData +{ + std::string string(static_cast<const char*>(self.bytes), self.length); + std::string decompressed_string = mbgl::util::decompress(string); + + return [NSData dataWithBytes:&decompressed_string[0] length:decompressed_string.length()]; +} + +@end |