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

#import "DBSHARINGRouteObjects.h"
#import "DBASYNCLaunchEmptyResult.h"
#import "DBASYNCLaunchResultBase.h"
#import "DBASYNCPollError.h"
#import "DBASYNCPollResultBase.h"
#import "DBFILESLookupError.h"
#import "DBRequestErrors.h"
#import "DBSHARINGAccessInheritance.h"
#import "DBSHARINGAccessLevel.h"
#import "DBSHARINGAddFileMemberError.h"
#import "DBSHARINGAddFolderMemberError.h"
#import "DBSHARINGAddMemberSelectorError.h"
#import "DBSHARINGAppAuthRoutes.h"
#import "DBSHARINGCreateSharedLinkError.h"
#import "DBSHARINGCreateSharedLinkWithSettingsError.h"
#import "DBSHARINGExpectedSharedContentLinkMetadata.h"
#import "DBSHARINGFileLinkMetadata.h"
#import "DBSHARINGFileMemberActionError.h"
#import "DBSHARINGFileMemberActionIndividualResult.h"
#import "DBSHARINGFileMemberActionResult.h"
#import "DBSHARINGFileMemberRemoveActionResult.h"
#import "DBSHARINGFilePermission.h"
#import "DBSHARINGFolderLinkMetadata.h"
#import "DBSHARINGFolderPermission.h"
#import "DBSHARINGFolderPolicy.h"
#import "DBSHARINGGetFileMetadataBatchResult.h"
#import "DBSHARINGGetFileMetadataError.h"
#import "DBSHARINGGetFileMetadataIndividualResult.h"
#import "DBSHARINGGetSharedLinkFileError.h"
#import "DBSHARINGGetSharedLinksError.h"
#import "DBSHARINGGetSharedLinksResult.h"
#import "DBSHARINGGroupMembershipInfo.h"
#import "DBSHARINGInsufficientQuotaAmounts.h"
#import "DBSHARINGInviteeMembershipInfo.h"
#import "DBSHARINGJobError.h"
#import "DBSHARINGJobStatus.h"
#import "DBSHARINGLinkMetadata.h"
#import "DBSHARINGLinkPermissions.h"
#import "DBSHARINGListFileMembersBatchResult.h"
#import "DBSHARINGListFileMembersContinueError.h"
#import "DBSHARINGListFileMembersError.h"
#import "DBSHARINGListFileMembersIndividualResult.h"
#import "DBSHARINGListFilesContinueError.h"
#import "DBSHARINGListFilesResult.h"
#import "DBSHARINGListFolderMembersContinueError.h"
#import "DBSHARINGListFoldersContinueError.h"
#import "DBSHARINGListFoldersResult.h"
#import "DBSHARINGListSharedLinksError.h"
#import "DBSHARINGListSharedLinksResult.h"
#import "DBSHARINGMemberAccessLevelResult.h"
#import "DBSHARINGMemberSelector.h"
#import "DBSHARINGModifySharedLinkSettingsError.h"
#import "DBSHARINGMountFolderError.h"
#import "DBSHARINGParentFolderAccessInfo.h"
#import "DBSHARINGPathLinkMetadata.h"
#import "DBSHARINGRelinquishFileMembershipError.h"
#import "DBSHARINGRelinquishFolderMembershipError.h"
#import "DBSHARINGRemoveFileMemberError.h"
#import "DBSHARINGRemoveFolderMemberError.h"
#import "DBSHARINGRemoveMemberJobStatus.h"
#import "DBSHARINGRevokeSharedLinkError.h"
#import "DBSHARINGSetAccessInheritanceError.h"
#import "DBSHARINGShareFolderError.h"
#import "DBSHARINGShareFolderErrorBase.h"
#import "DBSHARINGShareFolderJobStatus.h"
#import "DBSHARINGShareFolderLaunch.h"
#import "DBSHARINGSharePathError.h"
#import "DBSHARINGSharedContentLinkMetadata.h"
#import "DBSHARINGSharedFileMembers.h"
#import "DBSHARINGSharedFileMetadata.h"
#import "DBSHARINGSharedFolderAccessError.h"
#import "DBSHARINGSharedFolderMemberError.h"
#import "DBSHARINGSharedFolderMembers.h"
#import "DBSHARINGSharedFolderMetadata.h"
#import "DBSHARINGSharedFolderMetadataBase.h"
#import "DBSHARINGSharedLinkAlreadyExistsMetadata.h"
#import "DBSHARINGSharedLinkError.h"
#import "DBSHARINGSharedLinkMetadata.h"
#import "DBSHARINGSharedLinkSettingsError.h"
#import "DBSHARINGSharingFileAccessError.h"
#import "DBSHARINGSharingUserError.h"
#import "DBSHARINGTeamMemberInfo.h"
#import "DBSHARINGTransferFolderError.h"
#import "DBSHARINGUnmountFolderError.h"
#import "DBSHARINGUnshareFileError.h"
#import "DBSHARINGUnshareFolderError.h"
#import "DBSHARINGUpdateFolderMemberError.h"
#import "DBSHARINGUpdateFolderPolicyError.h"
#import "DBSHARINGUserAuthRoutes.h"
#import "DBSHARINGUserFileMembershipInfo.h"
#import "DBSHARINGUserMembershipInfo.h"
#import "DBSHARINGVisibility.h"
#import "DBStoneBase.h"
#import "DBUSERSTeam.h"

@implementation DBSHARINGRouteObjects

static DBRoute *DBSHARINGAddFileMember;
static DBRoute *DBSHARINGAddFolderMember;
static DBRoute *DBSHARINGCheckJobStatus;
static DBRoute *DBSHARINGCheckRemoveMemberJobStatus;
static DBRoute *DBSHARINGCheckShareJobStatus;
static DBRoute *DBSHARINGCreateSharedLink;
static DBRoute *DBSHARINGCreateSharedLinkWithSettings;
static DBRoute *DBSHARINGGetFileMetadata;
static DBRoute *DBSHARINGGetFileMetadataBatch;
static DBRoute *DBSHARINGGetFolderMetadata;
static DBRoute *DBSHARINGGetSharedLinkFile;
static DBRoute *DBSHARINGGetSharedLinkMetadata;
static DBRoute *DBSHARINGGetSharedLinks;
static DBRoute *DBSHARINGListFileMembers;
static DBRoute *DBSHARINGListFileMembersBatch;
static DBRoute *DBSHARINGListFileMembersContinue;
static DBRoute *DBSHARINGListFolderMembers;
static DBRoute *DBSHARINGListFolderMembersContinue;
static DBRoute *DBSHARINGListFolders;
static DBRoute *DBSHARINGListFoldersContinue;
static DBRoute *DBSHARINGListMountableFolders;
static DBRoute *DBSHARINGListMountableFoldersContinue;
static DBRoute *DBSHARINGListReceivedFiles;
static DBRoute *DBSHARINGListReceivedFilesContinue;
static DBRoute *DBSHARINGListSharedLinks;
static DBRoute *DBSHARINGModifySharedLinkSettings;
static DBRoute *DBSHARINGMountFolder;
static DBRoute *DBSHARINGRelinquishFileMembership;
static DBRoute *DBSHARINGRelinquishFolderMembership;
static DBRoute *DBSHARINGRemoveFileMember;
static DBRoute *DBSHARINGRemoveFileMember2;
static DBRoute *DBSHARINGRemoveFolderMember;
static DBRoute *DBSHARINGRevokeSharedLink;
static DBRoute *DBSHARINGSetAccessInheritance;
static DBRoute *DBSHARINGShareFolder;
static DBRoute *DBSHARINGTransferFolder;
static DBRoute *DBSHARINGUnmountFolder;
static DBRoute *DBSHARINGUnshareFile;
static DBRoute *DBSHARINGUnshareFolder;
static DBRoute *DBSHARINGUpdateFileMember;
static DBRoute *DBSHARINGUpdateFolderMember;
static DBRoute *DBSHARINGUpdateFolderPolicy;

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

+ (DBRoute *)DBSHARINGAddFileMember {
  @synchronized(lockObj) {
    if (!DBSHARINGAddFileMember) {
      DBSHARINGAddFileMember =
          [[DBRoute alloc] init:@"add_file_member"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[NSArray<DBSHARINGFileMemberActionResult *> class]
                            errorType:[DBSHARINGAddFileMemberError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:^id(id dataStruct) {
                return [DBArraySerializer deserialize:dataStruct
                                            withBlock:^id(id elem0) {
                                              return [DBSHARINGFileMemberActionResultSerializer deserialize:elem0];
                                            }];
              }];
    }
    return DBSHARINGAddFileMember;
  }
}

+ (DBRoute *)DBSHARINGAddFolderMember {
  @synchronized(lockObj) {
    if (!DBSHARINGAddFolderMember) {
      DBSHARINGAddFolderMember = [[DBRoute alloc] init:@"add_folder_member"
                                            namespace_:@"sharing"
                                            deprecated:@NO
                                            resultType:nil
                                             errorType:[DBSHARINGAddFolderMemberError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBSHARINGAddFolderMember;
  }
}

+ (DBRoute *)DBSHARINGCheckJobStatus {
  @synchronized(lockObj) {
    if (!DBSHARINGCheckJobStatus) {
      DBSHARINGCheckJobStatus = [[DBRoute alloc] init:@"check_job_status"
                                           namespace_:@"sharing"
                                           deprecated:@NO
                                           resultType:[DBSHARINGJobStatus class]
                                            errorType:[DBASYNCPollError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBSHARINGCheckJobStatus;
  }
}

+ (DBRoute *)DBSHARINGCheckRemoveMemberJobStatus {
  @synchronized(lockObj) {
    if (!DBSHARINGCheckRemoveMemberJobStatus) {
      DBSHARINGCheckRemoveMemberJobStatus =
          [[DBRoute alloc] init:@"check_remove_member_job_status"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGRemoveMemberJobStatus class]
                            errorType:[DBASYNCPollError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGCheckRemoveMemberJobStatus;
  }
}

+ (DBRoute *)DBSHARINGCheckShareJobStatus {
  @synchronized(lockObj) {
    if (!DBSHARINGCheckShareJobStatus) {
      DBSHARINGCheckShareJobStatus = [[DBRoute alloc] init:@"check_share_job_status"
                                                namespace_:@"sharing"
                                                deprecated:@NO
                                                resultType:[DBSHARINGShareFolderJobStatus class]
                                                 errorType:[DBASYNCPollError class]
                                                     attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                     dataStructSerialBlock:nil
                                   dataStructDeserialBlock:nil];
    }
    return DBSHARINGCheckShareJobStatus;
  }
}

+ (DBRoute *)DBSHARINGCreateSharedLink {
  @synchronized(lockObj) {
    if (!DBSHARINGCreateSharedLink) {
      DBSHARINGCreateSharedLink = [[DBRoute alloc] init:@"create_shared_link"
                                             namespace_:@"sharing"
                                             deprecated:@YES
                                             resultType:[DBSHARINGPathLinkMetadata class]
                                              errorType:[DBSHARINGCreateSharedLinkError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBSHARINGCreateSharedLink;
  }
}

+ (DBRoute *)DBSHARINGCreateSharedLinkWithSettings {
  @synchronized(lockObj) {
    if (!DBSHARINGCreateSharedLinkWithSettings) {
      DBSHARINGCreateSharedLinkWithSettings =
          [[DBRoute alloc] init:@"create_shared_link_with_settings"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGSharedLinkMetadata class]
                            errorType:[DBSHARINGCreateSharedLinkWithSettingsError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGCreateSharedLinkWithSettings;
  }
}

+ (DBRoute *)DBSHARINGGetFileMetadata {
  @synchronized(lockObj) {
    if (!DBSHARINGGetFileMetadata) {
      DBSHARINGGetFileMetadata = [[DBRoute alloc] init:@"get_file_metadata"
                                            namespace_:@"sharing"
                                            deprecated:@NO
                                            resultType:[DBSHARINGSharedFileMetadata class]
                                             errorType:[DBSHARINGGetFileMetadataError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBSHARINGGetFileMetadata;
  }
}

+ (DBRoute *)DBSHARINGGetFileMetadataBatch {
  @synchronized(lockObj) {
    if (!DBSHARINGGetFileMetadataBatch) {
      DBSHARINGGetFileMetadataBatch =
          [[DBRoute alloc] init:@"get_file_metadata/batch"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[NSArray<DBSHARINGGetFileMetadataBatchResult *> class]
                            errorType:[DBSHARINGSharingUserError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:^id(id dataStruct) {
                return [DBArraySerializer deserialize:dataStruct
                                            withBlock:^id(id elem0) {
                                              return [DBSHARINGGetFileMetadataBatchResultSerializer deserialize:elem0];
                                            }];
              }];
    }
    return DBSHARINGGetFileMetadataBatch;
  }
}

+ (DBRoute *)DBSHARINGGetFolderMetadata {
  @synchronized(lockObj) {
    if (!DBSHARINGGetFolderMetadata) {
      DBSHARINGGetFolderMetadata = [[DBRoute alloc] init:@"get_folder_metadata"
                                              namespace_:@"sharing"
                                              deprecated:@NO
                                              resultType:[DBSHARINGSharedFolderMetadata class]
                                               errorType:[DBSHARINGSharedFolderAccessError class]
                                                   attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBSHARINGGetFolderMetadata;
  }
}

+ (DBRoute *)DBSHARINGGetSharedLinkFile {
  @synchronized(lockObj) {
    if (!DBSHARINGGetSharedLinkFile) {
      DBSHARINGGetSharedLinkFile =
          [[DBRoute alloc] init:@"get_shared_link_file"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGSharedLinkMetadata class]
                            errorType:[DBSHARINGGetSharedLinkFileError class]
                                attrs:@{@"auth" : @"user", @"host" : @"content", @"style" : @"download"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGGetSharedLinkFile;
  }
}

+ (DBRoute *)DBSHARINGGetSharedLinkMetadata {
  @synchronized(lockObj) {
    if (!DBSHARINGGetSharedLinkMetadata) {
      DBSHARINGGetSharedLinkMetadata =
          [[DBRoute alloc] init:@"get_shared_link_metadata"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGSharedLinkMetadata class]
                            errorType:[DBSHARINGSharedLinkError class]
                                attrs:@{@"auth" : @"app, user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGGetSharedLinkMetadata;
  }
}

+ (DBRoute *)DBSHARINGGetSharedLinks {
  @synchronized(lockObj) {
    if (!DBSHARINGGetSharedLinks) {
      DBSHARINGGetSharedLinks = [[DBRoute alloc] init:@"get_shared_links"
                                           namespace_:@"sharing"
                                           deprecated:@YES
                                           resultType:[DBSHARINGGetSharedLinksResult class]
                                            errorType:[DBSHARINGGetSharedLinksError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBSHARINGGetSharedLinks;
  }
}

+ (DBRoute *)DBSHARINGListFileMembers {
  @synchronized(lockObj) {
    if (!DBSHARINGListFileMembers) {
      DBSHARINGListFileMembers = [[DBRoute alloc] init:@"list_file_members"
                                            namespace_:@"sharing"
                                            deprecated:@NO
                                            resultType:[DBSHARINGSharedFileMembers class]
                                             errorType:[DBSHARINGListFileMembersError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFileMembers;
  }
}

+ (DBRoute *)DBSHARINGListFileMembersBatch {
  @synchronized(lockObj) {
    if (!DBSHARINGListFileMembersBatch) {
      DBSHARINGListFileMembersBatch =
          [[DBRoute alloc] init:@"list_file_members/batch"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[NSArray<DBSHARINGListFileMembersBatchResult *> class]
                            errorType:[DBSHARINGSharingUserError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:^id(id dataStruct) {
                return [DBArraySerializer deserialize:dataStruct
                                            withBlock:^id(id elem0) {
                                              return [DBSHARINGListFileMembersBatchResultSerializer deserialize:elem0];
                                            }];
              }];
    }
    return DBSHARINGListFileMembersBatch;
  }
}

+ (DBRoute *)DBSHARINGListFileMembersContinue {
  @synchronized(lockObj) {
    if (!DBSHARINGListFileMembersContinue) {
      DBSHARINGListFileMembersContinue = [[DBRoute alloc] init:@"list_file_members/continue"
                                                    namespace_:@"sharing"
                                                    deprecated:@NO
                                                    resultType:[DBSHARINGSharedFileMembers class]
                                                     errorType:[DBSHARINGListFileMembersContinueError class]
                                                         attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                         dataStructSerialBlock:nil
                                       dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFileMembersContinue;
  }
}

+ (DBRoute *)DBSHARINGListFolderMembers {
  @synchronized(lockObj) {
    if (!DBSHARINGListFolderMembers) {
      DBSHARINGListFolderMembers = [[DBRoute alloc] init:@"list_folder_members"
                                              namespace_:@"sharing"
                                              deprecated:@NO
                                              resultType:[DBSHARINGSharedFolderMembers class]
                                               errorType:[DBSHARINGSharedFolderAccessError class]
                                                   attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFolderMembers;
  }
}

+ (DBRoute *)DBSHARINGListFolderMembersContinue {
  @synchronized(lockObj) {
    if (!DBSHARINGListFolderMembersContinue) {
      DBSHARINGListFolderMembersContinue =
          [[DBRoute alloc] init:@"list_folder_members/continue"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGSharedFolderMembers class]
                            errorType:[DBSHARINGListFolderMembersContinueError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFolderMembersContinue;
  }
}

+ (DBRoute *)DBSHARINGListFolders {
  @synchronized(lockObj) {
    if (!DBSHARINGListFolders) {
      DBSHARINGListFolders = [[DBRoute alloc] init:@"list_folders"
                                        namespace_:@"sharing"
                                        deprecated:@NO
                                        resultType:[DBSHARINGListFoldersResult class]
                                         errorType:nil
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFolders;
  }
}

+ (DBRoute *)DBSHARINGListFoldersContinue {
  @synchronized(lockObj) {
    if (!DBSHARINGListFoldersContinue) {
      DBSHARINGListFoldersContinue = [[DBRoute alloc] init:@"list_folders/continue"
                                                namespace_:@"sharing"
                                                deprecated:@NO
                                                resultType:[DBSHARINGListFoldersResult class]
                                                 errorType:[DBSHARINGListFoldersContinueError class]
                                                     attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                     dataStructSerialBlock:nil
                                   dataStructDeserialBlock:nil];
    }
    return DBSHARINGListFoldersContinue;
  }
}

+ (DBRoute *)DBSHARINGListMountableFolders {
  @synchronized(lockObj) {
    if (!DBSHARINGListMountableFolders) {
      DBSHARINGListMountableFolders = [[DBRoute alloc] init:@"list_mountable_folders"
                                                 namespace_:@"sharing"
                                                 deprecated:@NO
                                                 resultType:[DBSHARINGListFoldersResult class]
                                                  errorType:nil
                                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                      dataStructSerialBlock:nil
                                    dataStructDeserialBlock:nil];
    }
    return DBSHARINGListMountableFolders;
  }
}

+ (DBRoute *)DBSHARINGListMountableFoldersContinue {
  @synchronized(lockObj) {
    if (!DBSHARINGListMountableFoldersContinue) {
      DBSHARINGListMountableFoldersContinue =
          [[DBRoute alloc] init:@"list_mountable_folders/continue"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGListFoldersResult class]
                            errorType:[DBSHARINGListFoldersContinueError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGListMountableFoldersContinue;
  }
}

+ (DBRoute *)DBSHARINGListReceivedFiles {
  @synchronized(lockObj) {
    if (!DBSHARINGListReceivedFiles) {
      DBSHARINGListReceivedFiles = [[DBRoute alloc] init:@"list_received_files"
                                              namespace_:@"sharing"
                                              deprecated:@NO
                                              resultType:[DBSHARINGListFilesResult class]
                                               errorType:[DBSHARINGSharingUserError class]
                                                   attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBSHARINGListReceivedFiles;
  }
}

+ (DBRoute *)DBSHARINGListReceivedFilesContinue {
  @synchronized(lockObj) {
    if (!DBSHARINGListReceivedFilesContinue) {
      DBSHARINGListReceivedFilesContinue =
          [[DBRoute alloc] init:@"list_received_files/continue"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGListFilesResult class]
                            errorType:[DBSHARINGListFilesContinueError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGListReceivedFilesContinue;
  }
}

+ (DBRoute *)DBSHARINGListSharedLinks {
  @synchronized(lockObj) {
    if (!DBSHARINGListSharedLinks) {
      DBSHARINGListSharedLinks = [[DBRoute alloc] init:@"list_shared_links"
                                            namespace_:@"sharing"
                                            deprecated:@NO
                                            resultType:[DBSHARINGListSharedLinksResult class]
                                             errorType:[DBSHARINGListSharedLinksError class]
                                                 attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                 dataStructSerialBlock:nil
                               dataStructDeserialBlock:nil];
    }
    return DBSHARINGListSharedLinks;
  }
}

+ (DBRoute *)DBSHARINGModifySharedLinkSettings {
  @synchronized(lockObj) {
    if (!DBSHARINGModifySharedLinkSettings) {
      DBSHARINGModifySharedLinkSettings =
          [[DBRoute alloc] init:@"modify_shared_link_settings"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBSHARINGSharedLinkMetadata class]
                            errorType:[DBSHARINGModifySharedLinkSettingsError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGModifySharedLinkSettings;
  }
}

+ (DBRoute *)DBSHARINGMountFolder {
  @synchronized(lockObj) {
    if (!DBSHARINGMountFolder) {
      DBSHARINGMountFolder = [[DBRoute alloc] init:@"mount_folder"
                                        namespace_:@"sharing"
                                        deprecated:@NO
                                        resultType:[DBSHARINGSharedFolderMetadata class]
                                         errorType:[DBSHARINGMountFolderError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBSHARINGMountFolder;
  }
}

+ (DBRoute *)DBSHARINGRelinquishFileMembership {
  @synchronized(lockObj) {
    if (!DBSHARINGRelinquishFileMembership) {
      DBSHARINGRelinquishFileMembership =
          [[DBRoute alloc] init:@"relinquish_file_membership"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:nil
                            errorType:[DBSHARINGRelinquishFileMembershipError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGRelinquishFileMembership;
  }
}

+ (DBRoute *)DBSHARINGRelinquishFolderMembership {
  @synchronized(lockObj) {
    if (!DBSHARINGRelinquishFolderMembership) {
      DBSHARINGRelinquishFolderMembership =
          [[DBRoute alloc] init:@"relinquish_folder_membership"
                           namespace_:@"sharing"
                           deprecated:@NO
                           resultType:[DBASYNCLaunchEmptyResult class]
                            errorType:[DBSHARINGRelinquishFolderMembershipError class]
                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                dataStructSerialBlock:nil
              dataStructDeserialBlock:nil];
    }
    return DBSHARINGRelinquishFolderMembership;
  }
}

+ (DBRoute *)DBSHARINGRemoveFileMember {
  @synchronized(lockObj) {
    if (!DBSHARINGRemoveFileMember) {
      DBSHARINGRemoveFileMember = [[DBRoute alloc] init:@"remove_file_member"
                                             namespace_:@"sharing"
                                             deprecated:@YES
                                             resultType:[DBSHARINGFileMemberActionIndividualResult class]
                                              errorType:[DBSHARINGRemoveFileMemberError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBSHARINGRemoveFileMember;
  }
}

+ (DBRoute *)DBSHARINGRemoveFileMember2 {
  @synchronized(lockObj) {
    if (!DBSHARINGRemoveFileMember2) {
      DBSHARINGRemoveFileMember2 = [[DBRoute alloc] init:@"remove_file_member_2"
                                              namespace_:@"sharing"
                                              deprecated:@NO
                                              resultType:[DBSHARINGFileMemberRemoveActionResult class]
                                               errorType:[DBSHARINGRemoveFileMemberError class]
                                                   attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                   dataStructSerialBlock:nil
                                 dataStructDeserialBlock:nil];
    }
    return DBSHARINGRemoveFileMember2;
  }
}

+ (DBRoute *)DBSHARINGRemoveFolderMember {
  @synchronized(lockObj) {
    if (!DBSHARINGRemoveFolderMember) {
      DBSHARINGRemoveFolderMember = [[DBRoute alloc] init:@"remove_folder_member"
                                               namespace_:@"sharing"
                                               deprecated:@NO
                                               resultType:[DBASYNCLaunchResultBase class]
                                                errorType:[DBSHARINGRemoveFolderMemberError class]
                                                    attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                    dataStructSerialBlock:nil
                                  dataStructDeserialBlock:nil];
    }
    return DBSHARINGRemoveFolderMember;
  }
}

+ (DBRoute *)DBSHARINGRevokeSharedLink {
  @synchronized(lockObj) {
    if (!DBSHARINGRevokeSharedLink) {
      DBSHARINGRevokeSharedLink = [[DBRoute alloc] init:@"revoke_shared_link"
                                             namespace_:@"sharing"
                                             deprecated:@NO
                                             resultType:nil
                                              errorType:[DBSHARINGRevokeSharedLinkError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBSHARINGRevokeSharedLink;
  }
}

+ (DBRoute *)DBSHARINGSetAccessInheritance {
  @synchronized(lockObj) {
    if (!DBSHARINGSetAccessInheritance) {
      DBSHARINGSetAccessInheritance = [[DBRoute alloc] init:@"set_access_inheritance"
                                                 namespace_:@"sharing"
                                                 deprecated:@NO
                                                 resultType:[DBSHARINGShareFolderLaunch class]
                                                  errorType:[DBSHARINGSetAccessInheritanceError class]
                                                      attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                      dataStructSerialBlock:nil
                                    dataStructDeserialBlock:nil];
    }
    return DBSHARINGSetAccessInheritance;
  }
}

+ (DBRoute *)DBSHARINGShareFolder {
  @synchronized(lockObj) {
    if (!DBSHARINGShareFolder) {
      DBSHARINGShareFolder = [[DBRoute alloc] init:@"share_folder"
                                        namespace_:@"sharing"
                                        deprecated:@NO
                                        resultType:[DBSHARINGShareFolderLaunch class]
                                         errorType:[DBSHARINGShareFolderError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBSHARINGShareFolder;
  }
}

+ (DBRoute *)DBSHARINGTransferFolder {
  @synchronized(lockObj) {
    if (!DBSHARINGTransferFolder) {
      DBSHARINGTransferFolder = [[DBRoute alloc] init:@"transfer_folder"
                                           namespace_:@"sharing"
                                           deprecated:@NO
                                           resultType:nil
                                            errorType:[DBSHARINGTransferFolderError class]
                                                attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                dataStructSerialBlock:nil
                              dataStructDeserialBlock:nil];
    }
    return DBSHARINGTransferFolder;
  }
}

+ (DBRoute *)DBSHARINGUnmountFolder {
  @synchronized(lockObj) {
    if (!DBSHARINGUnmountFolder) {
      DBSHARINGUnmountFolder = [[DBRoute alloc] init:@"unmount_folder"
                                          namespace_:@"sharing"
                                          deprecated:@NO
                                          resultType:nil
                                           errorType:[DBSHARINGUnmountFolderError class]
                                               attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                               dataStructSerialBlock:nil
                             dataStructDeserialBlock:nil];
    }
    return DBSHARINGUnmountFolder;
  }
}

+ (DBRoute *)DBSHARINGUnshareFile {
  @synchronized(lockObj) {
    if (!DBSHARINGUnshareFile) {
      DBSHARINGUnshareFile = [[DBRoute alloc] init:@"unshare_file"
                                        namespace_:@"sharing"
                                        deprecated:@NO
                                        resultType:nil
                                         errorType:[DBSHARINGUnshareFileError class]
                                             attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                             dataStructSerialBlock:nil
                           dataStructDeserialBlock:nil];
    }
    return DBSHARINGUnshareFile;
  }
}

+ (DBRoute *)DBSHARINGUnshareFolder {
  @synchronized(lockObj) {
    if (!DBSHARINGUnshareFolder) {
      DBSHARINGUnshareFolder = [[DBRoute alloc] init:@"unshare_folder"
                                          namespace_:@"sharing"
                                          deprecated:@NO
                                          resultType:[DBASYNCLaunchEmptyResult class]
                                           errorType:[DBSHARINGUnshareFolderError class]
                                               attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                               dataStructSerialBlock:nil
                             dataStructDeserialBlock:nil];
    }
    return DBSHARINGUnshareFolder;
  }
}

+ (DBRoute *)DBSHARINGUpdateFileMember {
  @synchronized(lockObj) {
    if (!DBSHARINGUpdateFileMember) {
      DBSHARINGUpdateFileMember = [[DBRoute alloc] init:@"update_file_member"
                                             namespace_:@"sharing"
                                             deprecated:@NO
                                             resultType:[DBSHARINGMemberAccessLevelResult class]
                                              errorType:[DBSHARINGFileMemberActionError class]
                                                  attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                  dataStructSerialBlock:nil
                                dataStructDeserialBlock:nil];
    }
    return DBSHARINGUpdateFileMember;
  }
}

+ (DBRoute *)DBSHARINGUpdateFolderMember {
  @synchronized(lockObj) {
    if (!DBSHARINGUpdateFolderMember) {
      DBSHARINGUpdateFolderMember = [[DBRoute alloc] init:@"update_folder_member"
                                               namespace_:@"sharing"
                                               deprecated:@NO
                                               resultType:[DBSHARINGMemberAccessLevelResult class]
                                                errorType:[DBSHARINGUpdateFolderMemberError class]
                                                    attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                    dataStructSerialBlock:nil
                                  dataStructDeserialBlock:nil];
    }
    return DBSHARINGUpdateFolderMember;
  }
}

+ (DBRoute *)DBSHARINGUpdateFolderPolicy {
  @synchronized(lockObj) {
    if (!DBSHARINGUpdateFolderPolicy) {
      DBSHARINGUpdateFolderPolicy = [[DBRoute alloc] init:@"update_folder_policy"
                                               namespace_:@"sharing"
                                               deprecated:@NO
                                               resultType:[DBSHARINGSharedFolderMetadata class]
                                                errorType:[DBSHARINGUpdateFolderPolicyError class]
                                                    attrs:@{@"auth" : @"user", @"host" : @"api", @"style" : @"rpc"}
                                    dataStructSerialBlock:nil
                                  dataStructDeserialBlock:nil];
    }
    return DBSHARINGUpdateFolderPolicy;
  }
}

@end
