Example #1
0
    // 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;
    }
Example #2
0
    // 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;
    }