@@ -1330,7 +1330,7 @@ - (YapDatabaseConnection *)newConnection
13301330 * NO if an error occurred, such as the extensionName is already registered.
13311331 *
13321332 * @see asyncRegisterExtension:withName:completionBlock:
1333- * @see asyncRegisterExtension:withName:completionBlock: completionQueue:
1333+ * @see asyncRegisterExtension:withName:completionQueue:completionBlock :
13341334**/
13351335- (BOOL )registerExtension : (YapDatabaseExtension *)extension withName : (NSString *)extensionName
13361336{
@@ -1363,8 +1363,8 @@ - (void)asyncRegisterExtension:(YapDatabaseExtension *)extension
13631363{
13641364 [self asyncRegisterExtension: extension
13651365 withName: extensionName
1366- completionBlock: completionBlock
1367- completionQueue: NULL ];
1366+ completionQueue: NULL
1367+ completionBlock: completionBlock ];
13681368}
13691369
13701370/* *
@@ -1383,8 +1383,8 @@ - (void)asyncRegisterExtension:(YapDatabaseExtension *)extension
13831383**/
13841384- (void )asyncRegisterExtension : (YapDatabaseExtension *)extension
13851385 withName : (NSString *)extensionName
1386- completionBlock : (void (^)(BOOL ready))completionBlock
13871386 completionQueue : (dispatch_queue_t )completionQueue
1387+ completionBlock : (void (^)(BOOL ready))completionBlock
13881388{
13891389 if (completionQueue == NULL && completionBlock != NULL )
13901390 completionQueue = dispatch_get_main_queue ();
@@ -1403,6 +1403,44 @@ - (void)asyncRegisterExtension:(YapDatabaseExtension *)extension
14031403 }});
14041404}
14051405
1406+ /* *
1407+ * DEPRECATED in v2.5
1408+ *
1409+ * The syntax has been changed in order to make the code easier to read.
1410+ * In the past the code would end up looking like this:
1411+ *
1412+ * [database asyncRegisterExtension:ext
1413+ * withName:@"name"
1414+ * completionBlock:^
1415+ * {
1416+ * // A bunch of code here
1417+ * // code...
1418+ * // code...
1419+ * } completionQueue:importantQueue]; <-- Hidden in code. Often overlooked.
1420+ *
1421+ * The new syntax puts the completionQueue declaration before the completionBlock declaration.
1422+ * Since the two are intricately linked, they should be next to each other in code.
1423+ * Then end result is easier to read:
1424+ *
1425+ * [database asyncRegisterExtension:ext
1426+ * withName:@"name"
1427+ * completionQueue:importantQueue <-- Easier to see
1428+ * completionBlock:^
1429+ * {
1430+ * // 100 lines of code here
1431+ * }];
1432+ **/
1433+ - (void )asyncRegisterExtension : (YapDatabaseExtension *)extension
1434+ withName : (NSString *)extensionName
1435+ completionBlock : (void (^)(BOOL ready))completionBlock
1436+ completionQueue : (dispatch_queue_t )completionQueue
1437+ {
1438+ [self asyncRegisterExtension: extension
1439+ withName: extensionName
1440+ completionQueue: completionQueue
1441+ completionBlock: completionBlock];
1442+ }
1443+
14061444/* *
14071445 * This method unregisters an extension with the given name.
14081446 * The associated underlying tables will be dropped from the database.
@@ -1424,7 +1462,7 @@ - (void)asyncRegisterExtension:(YapDatabaseExtension *)extension
14241462 * And it will automatically unregister these orhpaned extensions for you.
14251463 *
14261464 * @see asyncUnregisterExtensionWithName:completionBlock:
1427- * @see asyncUnregisterExtensionWithName:completionBlock: completionQueue:
1465+ * @see asyncUnregisterExtensionWithName:completionQueue:completionBlock :
14281466**/
14291467- (void )unregisterExtensionWithName : (NSString *)extensionName
14301468{
@@ -1449,13 +1487,25 @@ - (void)asyncUnregisterExtensionWithName:(NSString *)extensionName
14491487 completionBlock : (dispatch_block_t )completionBlock
14501488{
14511489 [self asyncUnregisterExtensionWithName: extensionName
1452- completionBlock: completionBlock
1453- completionQueue: NULL ];
1490+ completionQueue: NULL
1491+ completionBlock: completionBlock ];
14541492}
14551493
1494+ /* *
1495+ * Asynchronoulsy starts the extension unregistration process.
1496+ *
1497+ * The unregistration process is equivalent to a readwrite transaction.
1498+ * It involves deleting various information about the extension from the database,
1499+ * as well as possibly dropping related tables the extension may have been using.
1500+ *
1501+ * An optional completion block may be used.
1502+ *
1503+ * Additionally the dispatch_queue to invoke the completion block may also be specified.
1504+ * If NULL, dispatch_get_main_queue() is automatically used.
1505+ **/
14561506- (void )asyncUnregisterExtensionWithName : (NSString *)extensionName
1457- completionBlock : (dispatch_block_t )completionBlock
14581507 completionQueue : (dispatch_queue_t )completionQueue
1508+ completionBlock : (dispatch_block_t )completionBlock
14591509{
14601510 if (completionQueue == NULL && completionBlock != NULL )
14611511 completionQueue = dispatch_get_main_queue ();
@@ -1474,6 +1524,40 @@ - (void)asyncUnregisterExtensionWithName:(NSString *)extensionName
14741524 }});
14751525}
14761526
1527+ /* *
1528+ * DEPRECATED in v2.5
1529+ *
1530+ * The syntax has been changed in order to make the code easier to read.
1531+ * In the past the code would end up looking like this:
1532+ *
1533+ * [database asyncUnregisterExtensionWithName:@"name"
1534+ * completionBlock:^
1535+ * {
1536+ * // A bunch of code here
1537+ * // code...
1538+ * // code...
1539+ * } completionQueue:importantQueue]; <-- Hidden in code. Often overlooked.
1540+ *
1541+ * The new syntax puts the completionQueue declaration before the completionBlock declaration.
1542+ * Since the two are intricately linked, they should be next to each other in code.
1543+ * Then end result is easier to read:
1544+ *
1545+ * [database asyncUnregisterExtensionWithName:@"name"
1546+ * completionQueue:importantQueue <-- Easier to see
1547+ * completionBlock:^
1548+ * {
1549+ * // 100 lines of code here
1550+ * }];
1551+ **/
1552+ - (void )asyncUnregisterExtensionWithName : (NSString *)extensionName
1553+ completionBlock : (dispatch_block_t )completionBlock
1554+ completionQueue : (dispatch_queue_t )completionQueue
1555+ {
1556+ [self asyncUnregisterExtensionWithName: extensionName
1557+ completionQueue: completionQueue
1558+ completionBlock: completionBlock];
1559+ }
1560+
14771561/* *
14781562 * Internal utility method.
14791563 * Handles lazy creation and destruction of short-lived registrationConnection instance.
@@ -1592,15 +1676,15 @@ - (void)asyncUnregisterExtension:(NSString *)extensionName
15921676/* *
15931677 * DEPRECATED in v2.5
15941678 *
1595- * Use asyncUnregisterExtensionWithName:completionBlock: completionQueue: instead.
1679+ * Use asyncUnregisterExtensionWithName:completionQueue:completionBlock : instead.
15961680**/
15971681- (void )asyncUnregisterExtension : (NSString *)extensionName
15981682 completionBlock : (dispatch_block_t )completionBlock
15991683 completionQueue : (dispatch_queue_t )completionQueue
16001684{
16011685 [self asyncUnregisterExtensionWithName: extensionName
1602- completionBlock: completionBlock
1603- completionQueue: completionQueue ];
1686+ completionQueue: completionQueue
1687+ completionBlock: completionBlock ];
16041688}
16051689
16061690/* *
0 commit comments