// Manual unsubscription //============================================================================================== Status SubscriptionFactory::manuallyUnsubscribe( ClientSubscriptionHandle clientSubscriptionHandle) { Status ret; Subscription* subscription = 0; ret = acquireExistingSubscription(clientSubscriptionHandle, subscription); if (ret.isGood()) { ret = subscription->deleteSubscription(); releaseSubscription(subscription); } else { ret.addDiagnostic("Could not manually unsubscribe"); logger_->error(ret); } return ret; }
// Manual unsubscription //============================================================================================== Status SubscriptionFactory::manuallyUnsubscribe( ClientSubscriptionHandle clientSubscriptionHandle) { Status ret; Subscription* subscription = 0; Status acquisitionStatus = acquireExistingSubscription(clientSubscriptionHandle, subscription); if (acquisitionStatus.isGood()) { ret = subscription->deleteSubscription(true); // the unsubscribing is planned, so we can remove the persistent request releaseSubscription(subscription); } else { ret = CouldNotManuallyUnsubscribeError(); ret.setRaisedBy(acquisitionStatus); logger_->error(ret.toString()); } return ret; }