///
/// Copyright (c) 2016 Dropbox, Inc. All rights reserved.
///
/// Auto-generated by Stone, do not modify.
///

#import "DBTEAMLOGRouteObjects.h"
#import "DBRequestErrors.h"
#import "DBStoneBase.h"
#import "DBTEAMLOGGetTeamEventsContinueError.h"
#import "DBTEAMLOGGetTeamEventsError.h"
#import "DBTEAMLOGGetTeamEventsResult.h"
#import "DBTEAMLOGTeamAuthRoutes.h"
#import "DBTEAMLOGTeamEvent.h"

@implementation DBTEAMLOGRouteObjects

static DBRoute *DBTEAMLOGGetEvents;
static DBRoute *DBTEAMLOGGetEventsContinue;

static NSObject *lockObj = nil;
+ (void)initialize {
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
    lockObj = [[NSObject alloc] init];
  });
}

+ (DBRoute *)DBTEAMLOGGetEvents {
  @synchronized(lockObj) {
    if (!DBTEAMLOGGetEvents) {
      DBTEAMLOGGetEvents = [[DBRoute alloc] init:@"get_events"
                                      namespace_:@"team_log"
                                      deprecated:@NO
                                      resultType:[DBTEAMLOGGetTeamEventsResult class]
                                       errorType:[DBTEAMLOGGetTeamEventsError class]
                                           attrs:@{@"auth" : @"team", @"host" : @"api", @"style" : @"rpc"}
                           dataStructSerialBlock:nil
                         dataStructDeserialBlock:nil];
    }
    return DBTEAMLOGGetEvents;
  }
}

+ (DBRoute *)DBTEAMLOGGetEventsContinue {
  @synchronized(lockObj) {
    if (!DBTEAMLOGGetEventsContinue) {
      DBTEAMLOGGetEventsContinue = [[DBRoute alloc] init:@"get_events/continue"
                                              namespace_:@"team_log"
                                              deprecated:@NO
                                              resultType:[DBTEAMLOGGetTeamEventsResult class]
                                               errorType:[DBTEAMLOGGetTeamEventsContinueError class]
                                                   attrs:@{@"auth" : @"team", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBTEAMLOGGetEventsContinue;
  }
}

@end
