From d4930a7960e0cd3c8891d2695d8f957b3471e69d Mon Sep 17 00:00:00 2001 From: Julien Kerihuel Date: Mon, 30 Mar 2015 04:42:13 +0200 Subject: [PATCH] oc: Remove deprecated notification code. --- OpenChange/MAPIStoreFolder.h | 6 -- OpenChange/MAPIStoreFolder.m | 159 ----------------------------- OpenChange/MAPIStoreMailFolder.m | 7 -- OpenChange/MAPIStoreMessage.m | 44 -------- OpenChange/MAPIStoreMessageTable.m | 51 --------- 5 files changed, 267 deletions(-) diff --git a/OpenChange/MAPIStoreFolder.h b/OpenChange/MAPIStoreFolder.h index e5440bd95..b16e4b91f 100644 --- a/OpenChange/MAPIStoreFolder.h +++ b/OpenChange/MAPIStoreFolder.h @@ -185,12 +185,6 @@ /* subclass helpers */ - (void) setupVersionsMessage; - (void) ensureIDsForChildKeys: (NSArray *) keys; -- (void) postNotificationsForMoveCopyMessagesWithMIDs: (uint64_t *) srcMids - andMessageURLs: (NSArray *) oldMessageURLs - andCount: (uint32_t) midCount - fromFolder: (MAPIStoreFolder *) sourceFolder - withMIDs: (uint64_t *) targetMids - wantCopy: (uint8_t) wantCopy; @end diff --git a/OpenChange/MAPIStoreFolder.m b/OpenChange/MAPIStoreFolder.m index 0d862b85e..6e50248df 100644 --- a/OpenChange/MAPIStoreFolder.m +++ b/OpenChange/MAPIStoreFolder.m @@ -581,8 +581,6 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe NSUInteger count, max; id msgObject; SOGoUser *ownerUser; - struct mapistore_connection_info *connInfo; - struct mapistore_object_notification_parameters *notif_parameters; int rc; /* flags that control the behaviour of the operation @@ -621,49 +619,6 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe } else { - if (![message isNew]) - { - /* folder notification */ - notif_parameters - = talloc_zero(NULL, - struct mapistore_object_notification_parameters); - notif_parameters->object_id = [self objectId]; - notif_parameters->tag_count = 5; - notif_parameters->tags = talloc_array (notif_parameters, - enum MAPITAGS, 5); - notif_parameters->tags[0] = PR_CONTENT_COUNT; - notif_parameters->tags[1] = PR_DELETED_COUNT_TOTAL; - notif_parameters->tags[2] = PR_MESSAGE_SIZE; - notif_parameters->tags[3] = PR_NORMAL_MESSAGE_SIZE; - notif_parameters->tags[4] = PR_DELETED_MSG_COUNT; - notif_parameters->new_message_count = true; - notif_parameters->message_count = [[self messageKeys] - count] - 1; - connInfo = [[self context] connectionInfo]; - mapistore_push_notification (connInfo->mstore_ctx, - MAPISTORE_FOLDER, - MAPISTORE_OBJECT_MODIFIED, - notif_parameters); - talloc_free(notif_parameters); - - /* message notification */ - notif_parameters - = talloc_zero(NULL, - struct mapistore_object_notification_parameters); - notif_parameters->object_id = mid; - notif_parameters->folder_id = [self objectId]; - /* Exchange sends a fnevObjectCreated!! */ - mapistore_push_notification (connInfo->mstore_ctx, - MAPISTORE_MESSAGE, - MAPISTORE_OBJECT_CREATED, - notif_parameters); - talloc_free(notif_parameters); - - /* table notification */ - for (count = 0; count < max; count++) - [[activeTables objectAtIndex: count] - notifyChangesForChild: message]; - } [self logWithFormat: @"successfully deleted object at URL: %@", childURL]; /* Ensure we are respecting flags parameter */ [mapping unregisterURLWithID: mid andFlags: flags]; @@ -790,13 +745,6 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe /* Notifications */ if (rc == MAPISTORE_SUCCESS) { - [self postNotificationsForMoveCopyMessagesWithMIDs: srcMids - andMessageURLs: oldMessageURLs - andCount: midCount - fromFolder: sourceFolder - withMIDs: targetMids - wantCopy: wantCopy]; - // We cleanup cache of our source and destination folders [self cleanupCaches]; [sourceFolder cleanupCaches]; @@ -998,113 +946,6 @@ Class NSExceptionK, MAPIStoreFAIMessageK, MAPIStoreMessageTableK, MAPIStoreFAIMe withIDs: newIDs]; } -- (void) postNotificationsForMoveCopyMessagesWithMIDs: (uint64_t *) srcMids - andMessageURLs: (NSArray *) oldMessageURLs - andCount: (uint32_t) midCount - fromFolder: (MAPIStoreFolder *) sourceFolder - withMIDs: (uint64_t *) targetMids - wantCopy: (uint8_t) wantCopy -{ - NSArray *activeTables; - NSUInteger count, tableCount, max; - MAPIStoreMessage *message; - NSString *messageURL; - MAPIStoreMapping *mapping; - struct mapistore_object_notification_parameters *notif_parameters; - struct mapistore_connection_info *connInfo; - - connInfo = [[self context] connectionInfo]; - - // For the "source folder, we ensure the table caches are loaded so - // that old and new state can be compared - activeTables = [sourceFolder activeMessageTables]; - max = [activeTables count]; - for (count = 0; count < max; count++) - [[activeTables objectAtIndex: count] restrictedChildKeys]; - - if (!wantCopy) - { - // We notify the client. We start with the source folder. - notif_parameters = talloc_zero(NULL, struct mapistore_object_notification_parameters); - notif_parameters->object_id = [sourceFolder objectId]; - notif_parameters->tag_count = 5; - notif_parameters->tags = talloc_array (notif_parameters, enum MAPITAGS, 5); - notif_parameters->tags[0] = PR_CONTENT_COUNT; - notif_parameters->tags[1] = PR_DELETED_COUNT_TOTAL; - notif_parameters->tags[2] = PR_MESSAGE_SIZE; - notif_parameters->tags[3] = PR_NORMAL_MESSAGE_SIZE; - notif_parameters->tags[4] = PR_RECIPIENT_ON_NORMAL_MSG_COUNT; - notif_parameters->new_message_count = true; - notif_parameters->message_count = [[sourceFolder messageKeys] count] - midCount; - mapistore_push_notification (connInfo->mstore_ctx, - MAPISTORE_FOLDER, - MAPISTORE_OBJECT_MODIFIED, - notif_parameters); - talloc_free(notif_parameters); - } - - // move/copy notification of the copied/moved message - for (count = 0; count < midCount; count++) - { - notif_parameters = talloc_zero (NULL, struct mapistore_object_notification_parameters); - notif_parameters->tag_count = 0; - notif_parameters->new_message_count = true; - notif_parameters->message_count = 0; - notif_parameters->object_id = targetMids[count]; - notif_parameters->folder_id = [self objectId]; - notif_parameters->old_object_id = srcMids[count]; - notif_parameters->old_folder_id = [sourceFolder objectId]; - - mapistore_push_notification (connInfo->mstore_ctx, - MAPISTORE_MESSAGE, - (wantCopy ? MAPISTORE_OBJECT_COPIED : MAPISTORE_OBJECT_MOVED), - notif_parameters); - talloc_free (notif_parameters); - - message = [sourceFolder lookupMessageByURL: [oldMessageURLs objectAtIndex: count]]; - // table notification - for (tableCount = 0; tableCount < max; tableCount++) - [[activeTables objectAtIndex: tableCount] - notifyChangesForChild: message]; - } - - // For the "destination folder, we ensure the table caches are loaded so - // that old and new state can be compared - activeTables = [self activeMessageTables]; - max = [activeTables count]; - for (count = 0; count < max; count++) - [[activeTables objectAtIndex: count] restrictedChildKeys]; - - notif_parameters = talloc_zero(NULL, struct mapistore_object_notification_parameters); - notif_parameters->object_id = [self objectId]; - notif_parameters->tag_count = 5; - notif_parameters->tags = talloc_array (notif_parameters, enum MAPITAGS, 5); - notif_parameters->tags[0] = PR_CONTENT_COUNT; - notif_parameters->tags[1] = PR_DELETED_COUNT_TOTAL; - notif_parameters->tags[2] = PR_MESSAGE_SIZE; - notif_parameters->tags[3] = PR_NORMAL_MESSAGE_SIZE; - notif_parameters->tags[4] = PR_RECIPIENT_ON_NORMAL_MSG_COUNT; - notif_parameters->new_message_count = true; - notif_parameters->message_count = [[self messageKeys] count] + midCount; - connInfo = [[self context] connectionInfo]; - mapistore_push_notification (connInfo->mstore_ctx, - MAPISTORE_FOLDER, - MAPISTORE_OBJECT_MODIFIED, - notif_parameters); - talloc_free(notif_parameters); - - // table notification - mapping = [self mapping]; - for (count = 0; count < midCount; count++) - { - messageURL = [mapping urlFromID: targetMids[count]]; - message = [self lookupMessageByURL: messageURL]; - for (tableCount = 0; tableCount < max; tableCount++) - [[activeTables objectAtIndex: tableCount] - notifyChangesForChild: message]; - } -} - - (int) getDeletedFMIDs: (struct UI8Array_r **) fmidsPtr andCN: (uint64_t *) cnPtr fromChangeNumber: (uint64_t) changeNum diff --git a/OpenChange/MAPIStoreMailFolder.m b/OpenChange/MAPIStoreMailFolder.m index 07d1debe2..d2036454a 100644 --- a/OpenChange/MAPIStoreMailFolder.m +++ b/OpenChange/MAPIStoreMailFolder.m @@ -1295,13 +1295,6 @@ _parseCOPYUID (NSString *line, NSArray **destUIDsP) } } - [self postNotificationsForMoveCopyMessagesWithMIDs: srcMids - andMessageURLs: oldMessageURLs - andCount: midCount - fromFolder: sourceFolder - withMIDs: targetMids - wantCopy: wantCopy]; - // We cleanup cache of our source and destination folders [self cleanupCaches]; [sourceFolder cleanupCaches]; diff --git a/OpenChange/MAPIStoreMessage.m b/OpenChange/MAPIStoreMessage.m index e922d4a18..5d5e03dac 100644 --- a/OpenChange/MAPIStoreMessage.m +++ b/OpenChange/MAPIStoreMessage.m @@ -465,9 +465,6 @@ rtf2html (NSData *compressedRTF) enum mapistore_error rc; NSArray *containerTables; NSUInteger count, max; - struct mapistore_object_notification_parameters *notif_parameters; - uint64_t folderId; - struct mapistore_context *mstoreCtx; MAPIStoreContext *context; SOGoUser *ownerUser; BOOL userIsOwner; @@ -498,47 +495,6 @@ rtf2html (NSData *compressedRTF) /* notifications */ if ([container isKindOfClass: MAPIStoreFolderK]) { - folderId = [(MAPIStoreFolder *) container objectId]; - mstoreCtx = [[self context] connectionInfo]->mstore_ctx; - - /* folder modified */ - notif_parameters - = talloc_zero(memCtx, struct mapistore_object_notification_parameters); - notif_parameters->object_id = folderId; - if (isNew) - { - notif_parameters->tag_count = 3; - notif_parameters->tags = talloc_array (notif_parameters, - enum MAPITAGS, 3); - notif_parameters->tags[0] = PR_CONTENT_COUNT; - notif_parameters->tags[1] = PR_MESSAGE_SIZE; - notif_parameters->tags[2] = PR_NORMAL_MESSAGE_SIZE; - notif_parameters->new_message_count = true; - notif_parameters->message_count - = [[(MAPIStoreFolder *) container messageKeys] count] + 1; - } - mapistore_push_notification (mstoreCtx, - MAPISTORE_FOLDER, - MAPISTORE_OBJECT_MODIFIED, - notif_parameters); - talloc_free (notif_parameters); - - /* message created */ - if (isNew) - { - notif_parameters - = talloc_zero(memCtx, - struct mapistore_object_notification_parameters); - notif_parameters->object_id = [self objectId]; - notif_parameters->folder_id = folderId; - - notif_parameters->tag_count = 0xffff; - mapistore_push_notification (mstoreCtx, - MAPISTORE_MESSAGE, MAPISTORE_OBJECT_CREATED, - notif_parameters); - talloc_free (notif_parameters); - } - /* we ensure the table caches are loaded so that old and new state can be compared */ containerTables = [self activeContainerMessageTables]; diff --git a/OpenChange/MAPIStoreMessageTable.m b/OpenChange/MAPIStoreMessageTable.m index 75d5adab9..f978a5ea6 100644 --- a/OpenChange/MAPIStoreMessageTable.m +++ b/OpenChange/MAPIStoreMessageTable.m @@ -87,58 +87,7 @@ - (void) notifyChangesForChild: (MAPIStoreMessage *) child { - NSUInteger currentChildRow, newChildRow; - NSArray *list; - NSString *childName; - struct mapistore_table_notification_parameters notif_parameters; - struct mapistore_context *mstoreCtx; - mstoreCtx = [[(MAPIStoreFolder *) container context] - connectionInfo]->mstore_ctx; - - notif_parameters.table_type = tableType; - notif_parameters.handle = handleId; - notif_parameters.folder_id = [(MAPIStoreFolder *) container objectId]; - notif_parameters.object_id = [child objectId]; - notif_parameters.instance_id = 0; /* TODO: always 0 ? */ - - childName = [child nameInContainer]; - list = [self restrictedChildKeys]; - currentChildRow = [list indexOfObject: childName]; - notif_parameters.row_id = currentChildRow; - - [self cleanupCaches]; - list = [self restrictedChildKeys]; - newChildRow = [list indexOfObject: childName]; - - if (currentChildRow == NSNotFound) - { - if (newChildRow != NSNotFound) - { - notif_parameters.row_id = newChildRow; - mapistore_push_notification (mstoreCtx, - MAPISTORE_TABLE, - MAPISTORE_OBJECT_CREATED, - ¬if_parameters); - } - } - else - { - if (newChildRow == NSNotFound) - mapistore_push_notification (mstoreCtx, - MAPISTORE_TABLE, - MAPISTORE_OBJECT_DELETED, - ¬if_parameters); - else - { - /* the fact that the row order has changed has no impact here */ - notif_parameters.row_id = newChildRow; - mapistore_push_notification (mstoreCtx, - MAPISTORE_TABLE, - MAPISTORE_OBJECT_MODIFIED, - ¬if_parameters); - } - } } @end