Config.m 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. //
  2. // Config.m
  3. // RileyLink
  4. //
  5. // Created by Pete Schwamb on 6/27/15.
  6. // Copyright (c) 2015 Pete Schwamb. All rights reserved.
  7. //
  8. @import CoreData;
  9. #import "Config.h"
  10. #import <UIKit/UIKit.h>
  11. @implementation Config
  12. + (Config *)sharedInstance
  13. {
  14. // structure used to test whether the block has completed or not
  15. static dispatch_once_t p = 0;
  16. // initialize sharedObject as nil (first call only)
  17. __strong static Config * _sharedObject = nil;
  18. // executes a block object once and only once for the lifetime of an application
  19. dispatch_once(&p, ^{
  20. _sharedObject = [[self alloc] init];
  21. });
  22. // returns the same object each time
  23. return _sharedObject;
  24. }
  25. - (instancetype)init {
  26. if (self = [super init]) {
  27. _defaults = [NSUserDefaults standardUserDefaults];
  28. }
  29. return self;
  30. }
  31. - (void) setNightscoutURL:(NSURL *)nightscoutURL {
  32. [_defaults setValue:nightscoutURL.absoluteString forKey:@"nightscoutURL"];
  33. }
  34. - (NSURL*) nightscoutURL {
  35. return [NSURL URLWithString:[_defaults stringForKey:@"nightscoutURL"]];
  36. }
  37. - (void) setNightscoutAPISecret:(NSString *)nightscoutAPISecret {
  38. [_defaults setValue:nightscoutAPISecret forKey:@"nightscoutAPISecret"];
  39. }
  40. - (NSString*) nightscoutAPISecret {
  41. return [_defaults stringForKey:@"nightscoutAPISecret"];
  42. }
  43. - (NSSet*) autoConnectIds {
  44. NSSet *set = [[NSUserDefaults standardUserDefaults] objectForKey:@"autoConnectIds"];
  45. if (!set) {
  46. set = [NSSet set];
  47. }
  48. return set;
  49. }
  50. - (void) setAutoConnectIds:(NSSet *)autoConnectIds {
  51. [[NSUserDefaults standardUserDefaults] setObject:[autoConnectIds allObjects] forKey:@"autoConnectIds"];
  52. }
  53. - (BOOL) uploadEnabled {
  54. return [[NSUserDefaults standardUserDefaults] boolForKey:@"uploadEnabled"];
  55. }
  56. - (void) setUploadEnabled:(BOOL)uploadEnabled {
  57. [[NSUserDefaults standardUserDefaults] setBool:uploadEnabled forKey:@"uploadEnabled"];
  58. }
  59. - (BOOL) fetchCGMEnabled {
  60. return [[NSUserDefaults standardUserDefaults] boolForKey:@"fetchCGMEnabled"];
  61. }
  62. - (void) setFetchCGMEnabled:(BOOL)fetchCGMEnabled {
  63. [[NSUserDefaults standardUserDefaults] setBool:fetchCGMEnabled forKey:@"fetchCGMEnabled"];
  64. }
  65. @end