Index: src/SL3Connection.h ================================================================== --- src/SL3Connection.h +++ src/SL3Connection.h @@ -32,12 +32,14 @@ @public #endif sqlite3 *_db; } ++ (instancetype)connectionWithPath: (OFString *)path; + (instancetype)connectionWithPath: (OFString *)path flags: (int)flags; +- (instancetype)initWithPath: (OFString *)path; - (instancetype)initWithPath: (OFString *)path - flags: (int)flags; + flags: (int)flags OF_DESIGNATED_INITIALIZER; @end OF_ASSUME_NONNULL_END Index: src/SL3Connection.m ================================================================== --- src/SL3Connection.m +++ src/SL3Connection.m @@ -23,16 +23,27 @@ #import "SL3Connection.h" #import "SL3OpenFailedException.h" @implementation SL3Connection ++ (instancetype)connectionWithPath: (OFString *)path +{ + return [[[self alloc] initWithPath: path] autorelease]; +} + + (instancetype)connectionWithPath: (OFString *)path flags: (int)flags { return [[[self alloc] initWithPath: path flags: flags] autorelease]; } + +- (instancetype)initWithPath: (OFString *)path +{ + return [self initWithPath: path + flags: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE]; +} - (instancetype)initWithPath: (OFString *)path flags: (int)flags { self = [super init];