uint8_t MamaSubscription::getAppDataType (void) const { uint8_t dataType = 0U; mamaTry (mamaSubscription_getAppDataType (mSubscription, &dataType)); return dataType; }
mama_status msgUtils_createSubscriptionMessage( mamaSubscription subscription, mamaSubscMsgType subscMsgType, mamaMsg* msg, const char* issueSymbol) { uint8_t appDataType = 0; char* ipaddr; mama_status status = mamaMsg_create (msg); if (status != MAMA_STATUS_OK) { return status; } if (subscription != NULL) { mamaBridgeImpl* bridge = mamaSubscription_getBridgeImpl (subscription); const char* source = NULL; const char* symbol = NULL; mamaSubscriptionType type = MAMA_SUBSC_TYPE_NORMAL; mamaMsgImpl_useBridgePayload (*msg, bridge); mamaSubscription_getSource (subscription, &source); /* For group subs the issue symbol needs to be passed in as it is not the same as the subscribe symbol */ if (issueSymbol) { symbol = issueSymbol; } else { mamaSubscription_getSubscSymbol (subscription, &symbol); } mamaSubscription_getSubscriptionType (subscription, &type); mamaSubscription_getAppDataType (subscription, &appDataType); status = mamaMsgImpl_setSubscInfo ( *msg, mamaSubscription_getSubscRoot (subscription), source, symbol, 1); if (status != MAMA_STATUS_OK) return status; status = mamaMsg_addI32 ( *msg, MamaFieldSubscriptionType.mName, MamaFieldSubscriptionType.mFid, type); if (status != MAMA_STATUS_OK) return status; } status = mamaMsg_addI32 ( *msg, MamaFieldSubscMsgType.mName, MamaFieldSubscMsgType.mFid, subscMsgType); if (status != MAMA_STATUS_OK) { return status; } status = mamaMsg_addU8 ( *msg, MamaFieldAppDataType.mName, MamaFieldAppDataType.mFid, appDataType); if (status != MAMA_STATUS_OK) { return status; } #ifndef IGNORE_DEPRECATED_FIELDS status = mamaMsg_addI32 ( *msg, MamaFieldSubscMsgTypeOld.mName, MamaFieldSubscMsgTypeOld.mFid, subscMsgType); if (status != MAMA_STATUS_OK) return status; #endif mama_getIpAddress ((const char**)&ipaddr); if (ipaddr != NULL && strlen( ipaddr ) > 0) { status = mamaMsg_addString ( *msg, MamaFieldSubscSourceHost.mName, MamaFieldSubscSourceHost.mFid, ipaddr); if (status != MAMA_STATUS_OK) return status; } return MAMA_STATUS_OK; }