void MamaEntitle::subscribeToSymbol (const char* symbol) { static int howMany = 0; if (!mDisplayCallback) { mDisplayCallback = new DisplayCallback (this); } MamaSubscription* sub = NULL; sub = new MamaSubscription; sub->setRetries (3); sub->setRequiresInitial (mRequireInitial); if (mSnapshot) { sub->setSubscriptionType (MAMA_SUBSC_TYPE_NORMAL); sub->setServiceLevel (MAMA_SERVICE_LEVEL_SNAPSHOT, 0); } else if (mGroupSubscription) { sub->setSubscriptionType (MAMA_SUBSC_TYPE_GROUP); sub->setServiceLevel (MAMA_SERVICE_LEVEL_REAL_TIME, 0); } else { sub->setSubscriptionType (MAMA_SUBSC_TYPE_NORMAL); sub->setServiceLevel (MAMA_SERVICE_LEVEL_REAL_TIME, 0); } sub->create ( mTransport, mQueueGroup->getNextQueue (), (DisplayCallback*)mDisplayCallback, mSource, symbol, NULL); mSubscriptionList.push_back (sub); if (++howMany % 1000 == 0) { printf ("Subscribed to %d subjects.\n", howMany); } }
void MamaSymbolListSubscriber::createSymbolListSubscription () { MamaSubscription* sub = NULL; const char* symbolListName = "SYMBOL_LIST_NORMAL"; sub = new MamaSubscription; mSymbolListSubscriptionCallback = new SymbolListSubscriptionCallback (this); sub->setSubscriptionType (MAMA_SUBSC_TYPE_SYMBOL_LIST); sub->create (mTransport, mDefaultQueue, (SymbolListSubscriptionCallback*)mSymbolListSubscriptionCallback, mSourceName, symbolListName, NULL); }