From 90179668deccd5b5ba03e3f344ef389e5a10a86c Mon Sep 17 00:00:00 2001 From: Craig Thomas Date: Fri, 17 Mar 2017 17:11:04 +1100 Subject: [PATCH] Added support for onSuccess publisher events The unit test results for onSuccess publisher events are set to expect no calls as no bridge calls the onSuccess callback at the moment. Existing unit tests for onError publisher events were already disabled or modified for similar reasons. Unit test expectations for both these publisher events will have to be modified if/when the bridge used for executing the unit tests does issue these callbacks. --- mama/c_cpp/src/c/mama/publisher.h | 7 +++++ mama/c_cpp/src/c/publisher.c | 3 ++ mama/c_cpp/src/cpp/MamaPublisher.cpp | 22 ++++++++++++--- mama/c_cpp/src/cpp/MamaPublisherImpl.h | 11 ++++++-- .../src/cpp/mama/MamaPublisherCallback.h | 6 ++++ mama/c_cpp/src/examples/c/mamapublisherc.c | 16 +++++++++++ .../src/examples/cpp/mamapublishercpp.cpp | 16 +++++++++++ mama/c_cpp/src/gunittest/c/publishertest.cpp | 26 +++++++++++++++++ .../src/gunittest/cpp/MamaPublisherTest.cpp | 14 ++++++++++ mama/dotnet/src/cs/MamaPublisher.cs | 20 +++++++++++++ mama/dotnet/src/cs/MamaPublisherCallback.cs | 7 +++++ .../examples/MamaPublisher/MamaPublisherCS.cs | 11 ++++++-- mama/jni/src/c/mamapublisherjni.c | 28 +++++++++++++++++-- mamda/c_cpp/src/examples/mamdapublisher.cpp | 1 + .../orderbooks/listenerBookPublisher.cpp | 1 + .../MamdaTradeTicker/MamdaTradeTicker.cs | 2 -- 16 files changed, 177 insertions(+), 14 deletions(-) diff --git a/mama/c_cpp/src/c/mama/publisher.h b/mama/c_cpp/src/c/mama/publisher.h index 19595bc41..09feb34b4 100644 --- a/mama/c_cpp/src/c/mama/publisher.h +++ b/mama/c_cpp/src/c/mama/publisher.h @@ -97,6 +97,12 @@ typedef void (MAMACALLTYPE *mama_publisherOnErrorCb) ( const char* info, void* closure); +typedef void (MAMACALLTYPE *mama_publisherOnSuccessCb) ( + mamaPublisher publisher, + mama_status status, + const char* info, + void* closure); + /** * Callbacks for publisher events. * If any cb is NULL then the callback will not be made. @@ -106,6 +112,7 @@ typedef struct mamaPublisherCallbacks mama_publisherOnCreateCb onCreate; mama_publisherOnErrorCb onError; mama_publisherOnDestroyCb onDestroy; + mama_publisherOnSuccessCb onSuccess; } mamaPublisherCallbacks; diff --git a/mama/c_cpp/src/c/publisher.c b/mama/c_cpp/src/c/publisher.c index 4bcd4ceee..a885875e9 100644 --- a/mama/c_cpp/src/c/publisher.c +++ b/mama/c_cpp/src/c/publisher.c @@ -160,6 +160,7 @@ _createByIndex (mamaPublisher* result, { impl->mUserCallbacks.onCreate = publisherCallbacks->onCreate; impl->mUserCallbacks.onError = publisherCallbacks->onError; + impl->mUserCallbacks.onSuccess = publisherCallbacks->onSuccess; impl->mUserCallbacks.onDestroy = publisherCallbacks->onDestroy; } impl->mQueue = queue; @@ -193,6 +194,7 @@ _createByIndex (mamaPublisher* result, mamaPublisherCallbacks_allocate(&cb); cb->onCreate = publisherCallbacks ? impl->mUserCallbacks.onCreate : NULL; cb->onError = publisherCallbacks ? impl->mUserCallbacks.onError : NULL; + cb->onSuccess = publisherCallbacks ? impl->mUserCallbacks.onSuccess : NULL; cb->onDestroy = mamaPublisher_onPublisherDestroyed; /* intercept onDestroy always to track state */ if (NULL != bridgeImpl->bridgeMamaPublisherSetUserCallbacks) @@ -751,6 +753,7 @@ mamaPublisher_getUserCallbacks (mamaPublisher publisher, cb->onCreate = impl->mUserCallbacks.onCreate; cb->onError = impl->mUserCallbacks.onError; + cb->onSuccess = impl->mUserCallbacks.onSuccess; cb->onDestroy = impl->mUserCallbacks.onDestroy; return MAMA_STATUS_OK; diff --git a/mama/c_cpp/src/cpp/MamaPublisher.cpp b/mama/c_cpp/src/cpp/MamaPublisher.cpp index fcd703136..5c6cfc1da 100644 --- a/mama/c_cpp/src/cpp/MamaPublisher.cpp +++ b/mama/c_cpp/src/cpp/MamaPublisher.cpp @@ -295,7 +295,8 @@ namespace Wombat { onPublisherCreate, onPublisherError, - onPublisherDestroy + onPublisherDestroy, + onPublisherSuccess }; mamaTry (mamaPublisher_createWithCallbacks (&mPublisher, @@ -480,9 +481,9 @@ namespace Wombat } void MAMACALLTYPE MamaPublisherImpl::onPublisherError (mamaPublisher publisher, - mama_status status, - const char* info, - void* closure) + mama_status status, + const char* info, + void* closure) { MamaPublisherImpl* i = (MamaPublisherImpl*) closure; if (NULL != i && NULL != i->mCallback) @@ -492,5 +493,18 @@ namespace Wombat } } + void MAMACALLTYPE MamaPublisherImpl::onPublisherSuccess (mamaPublisher publisher, + mama_status status, + const char* info, + void* closure) + { + MamaPublisherImpl* i = (MamaPublisherImpl*)closure; + if (NULL != i && NULL != i->mCallback) + { + MamaStatus cppstatus(status); + i->mCallback->onSuccess(i->mParent, cppstatus, info, i->mClosure); + } + } + } // namespace Wombat diff --git a/mama/c_cpp/src/cpp/MamaPublisherImpl.h b/mama/c_cpp/src/cpp/MamaPublisherImpl.h index 4c0d52180..e46caa58f 100644 --- a/mama/c_cpp/src/cpp/MamaPublisherImpl.h +++ b/mama/c_cpp/src/cpp/MamaPublisherImpl.h @@ -102,9 +102,14 @@ namespace Wombat void* closure); static void MAMACALLTYPE onPublisherError (mamaPublisher publisher, - mama_status status, - const char* info, - void* closure); + mama_status status, + const char* info, + void* closure); + + static void MAMACALLTYPE onPublisherSuccess (mamaPublisher publisher, + mama_status status, + const char* info, + void* closure); mamaPublisher mPublisher; MamaPublisherCallback* mCallback; diff --git a/mama/c_cpp/src/cpp/mama/MamaPublisherCallback.h b/mama/c_cpp/src/cpp/mama/MamaPublisherCallback.h index ed2da9bf2..8062ae5fb 100644 --- a/mama/c_cpp/src/cpp/mama/MamaPublisherCallback.h +++ b/mama/c_cpp/src/cpp/mama/MamaPublisherCallback.h @@ -45,6 +45,12 @@ namespace Wombat const MamaStatus& status, const char* info, void* closure) = 0; + + virtual void onSuccess( + MamaPublisher* publisher, + const MamaStatus& status, + const char* info, + void* closure) = 0; }; } // namespace Wombat diff --git a/mama/c_cpp/src/examples/c/mamapublisherc.c b/mama/c_cpp/src/examples/c/mamapublisherc.c index 9731566b6..6c80a3894 100644 --- a/mama/c_cpp/src/examples/c/mamapublisherc.c +++ b/mama/c_cpp/src/examples/c/mamapublisherc.c @@ -223,6 +223,21 @@ static void MAMACALLTYPE publisherOnErrorCb ( } } +static void MAMACALLTYPE publisherOnSuccessCb ( + mamaPublisher publisher, + mama_status status, + const char* info, + void* closure) +{ + if (gQuietLevel < 1) + { + const char* symbol = ""; + mamaPublisher_getSymbol(publisher, &symbol); + mama_log(MAMA_LOG_LEVEL_FINEST, "publisherOnSuccessCb: %s status=%d/%s info=%s", + symbol, status, mamaStatus_stringForStatus(status), info); + } +} + static void createPublisher (void) { mama_status status; @@ -233,6 +248,7 @@ static void createPublisher (void) mamaPublisherCallbacks_allocate (&cb); cb->onCreate = publisherOnCreateCb; cb->onError = publisherOnErrorCb; + cb->onSuccess = publisherOnSuccessCb; cb->onDestroy = publisherOnDestroyCb; status = mamaPublisher_createWithCallbacks (&gPublisher, gTransport, diff --git a/mama/c_cpp/src/examples/cpp/mamapublishercpp.cpp b/mama/c_cpp/src/examples/cpp/mamapublishercpp.cpp index f305049d5..91843c7bb 100644 --- a/mama/c_cpp/src/examples/cpp/mamapublishercpp.cpp +++ b/mama/c_cpp/src/examples/cpp/mamapublishercpp.cpp @@ -123,6 +123,12 @@ class MamaPublisherSample : public MamaBasicSubscriptionCallback const char* info, void* closure); + void onSuccess ( + MamaPublisher* publisher, + const MamaStatus& status, + const char* info, + void* closure); + private: int msgNumber; @@ -339,6 +345,16 @@ void MamaPublisherSample::onError ( publisher->getSource(), publisher->getSymbol(), status.toString(), info); } +void MamaPublisherSample::onSuccess( + MamaPublisher* publisher, + const MamaStatus& status, + const char* info, + void* closure) +{ + mama_log(MAMA_LOG_LEVEL_FINEST, "onPublishSuccess: %s.%s %s %s", + publisher->getSource(), publisher->getSymbol(), status.toString(), info); +} + void parseCommandLine (int argc, const char **argv) { int i = 0; diff --git a/mama/c_cpp/src/gunittest/c/publishertest.cpp b/mama/c_cpp/src/gunittest/c/publishertest.cpp index c5e883864..53425cd37 100644 --- a/mama/c_cpp/src/gunittest/c/publishertest.cpp +++ b/mama/c_cpp/src/gunittest/c/publishertest.cpp @@ -80,6 +80,7 @@ void MamaPublisherTestC::TearDown(void) */ int pubOnCreateCount = 0; int pubOnErrorCount = 0; +int pubOnSuccessCount = 0; int pubOnDestroyCount = 0; /** @@ -103,6 +104,15 @@ void pubOnError (mamaPublisher publisher, pubOnErrorCount++; } + +void pubOnSuccess (mamaPublisher publisher, + mama_status status, + const char* info, + void* closure) +{ + ++pubOnSuccessCount; +} + /** * Publisher event callbacks via transport topic callbacks */ @@ -136,6 +146,7 @@ TEST_F (MamaPublisherTestC, CreateDestroy) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; ASSERT_EQ (MAMA_STATUS_OK, @@ -186,6 +197,7 @@ TEST_F (MamaPublisherTestC, GetTransportImpl) ASSERT_EQ (0, pubOnCreateCount); ASSERT_EQ (0, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); ASSERT_EQ (0, pubOnDestroyCount); } @@ -204,6 +216,7 @@ TEST_F (MamaPublisherTestC, Send) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; ASSERT_EQ (MAMA_STATUS_OK, mama_open()); @@ -238,6 +251,7 @@ TEST_F (MamaPublisherTestC, Send) ASSERT_EQ (0, pubOnCreateCount); ASSERT_EQ (0, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); ASSERT_EQ (0, pubOnDestroyCount); } @@ -260,10 +274,12 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacks) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; mamaPublisherCallbacks_allocate(&cb); cb->onError = (mama_publisherOnErrorCb) pubOnError; + cb->onSuccess = (mama_publisherOnSuccessCb) pubOnSuccess; cb->onCreate = (mama_publisherOnCreateCb) pubOnCreate; cb->onDestroy = (mama_publisherOnDestroyCb) pubOnDestroy; @@ -308,6 +324,7 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacks) ASSERT_EQ (1, pubOnCreateCount); ASSERT_EQ (0, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); // this should be numPublishers but no bridge calls onSuccess yet ASSERT_EQ (1, pubOnDestroyCount); mamaPublisherCallbacks_deallocate(cb); @@ -333,10 +350,12 @@ TEST_F (MamaPublisherTestC, DISABLED_EventSendWithCallbacksBadSource) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; mamaPublisherCallbacks_allocate(&cb); cb->onError = (mama_publisherOnErrorCb) pubOnError; + cb->onSuccess = (mama_publisherOnSuccessCb) pubOnSuccess; cb->onCreate = (mama_publisherOnCreateCb) pubOnCreate; cb->onDestroy = (mama_publisherOnDestroyCb) pubOnDestroy; @@ -379,6 +398,7 @@ TEST_F (MamaPublisherTestC, DISABLED_EventSendWithCallbacksBadSource) ASSERT_EQ (1, pubOnCreateCount); ASSERT_EQ (numErrors, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); ASSERT_EQ (1, pubOnDestroyCount); mamaPublisherCallbacks_deallocate(cb); @@ -405,12 +425,14 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacksNoErrorCallback) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; mamaPublisherCallbacks_allocate(&cb); cb->onError = NULL; cb->onCreate = (mama_publisherOnCreateCb) pubOnCreate; /* No error callback */ cb->onDestroy = (mama_publisherOnDestroyCb) pubOnDestroy; + cb->onSuccess = (mama_publisherOnSuccessCb) pubOnSuccess; ASSERT_EQ (MAMA_STATUS_OK, mama_open()); @@ -453,6 +475,7 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacksNoErrorCallback) ASSERT_EQ (1, pubOnCreateCount); ASSERT_EQ (0, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); ASSERT_EQ (1, pubOnDestroyCount); mamaPublisherCallbacks_deallocate(cb); @@ -479,10 +502,12 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacksNoCallbacks) pubOnCreateCount = 0; pubOnErrorCount = 0; + pubOnSuccessCount = 0; pubOnDestroyCount = 0; mamaPublisherCallbacks_allocate(&cb); cb->onError = NULL; + cb->onSuccess = NULL; cb->onCreate = NULL; cb->onDestroy = NULL; @@ -527,6 +552,7 @@ TEST_F (MamaPublisherTestC, EventSendWithCallbacksNoCallbacks) ASSERT_EQ (0, pubOnCreateCount); ASSERT_EQ (0, pubOnErrorCount); + ASSERT_EQ (0, pubOnSuccessCount); ASSERT_EQ (0, pubOnDestroyCount); mamaPublisherCallbacks_deallocate(cb); diff --git a/mama/c_cpp/src/gunittest/cpp/MamaPublisherTest.cpp b/mama/c_cpp/src/gunittest/cpp/MamaPublisherTest.cpp index d35d49d57..74d20ef99 100644 --- a/mama/c_cpp/src/gunittest/cpp/MamaPublisherTest.cpp +++ b/mama/c_cpp/src/gunittest/cpp/MamaPublisherTest.cpp @@ -74,18 +74,21 @@ class TestCallback : public MamaPublisherCallback private: int onCreateCount; int onErrorCount; + int onSuccessCount; int onDestroyCount; public: int getOnCreateCount() { return onCreateCount; } int getOnErrorCount() { return onErrorCount; } + int getOnSuccessCount() { return onSuccessCount; } int getOnDestroyCount() { return onDestroyCount; } TestCallback() { onCreateCount = 0; onErrorCount = 0; + onSuccessCount = 0; onDestroyCount = 0; } @@ -105,6 +108,15 @@ class TestCallback : public MamaPublisherCallback onErrorCount++; } + virtual void onSuccess ( + MamaPublisher* publisher, + const MamaStatus& status, + const char* info, + void* closure) + { + ++onSuccessCount; + } + virtual void onDestroy ( MamaPublisher* publisher, void* closure) @@ -205,6 +217,7 @@ TEST_F(MamaPublisherTest, PublishWithCallbacks) ASSERT_EQ(1, testCallback->getOnCreateCount()); ASSERT_EQ(0, testCallback->getOnErrorCount()); + ASSERT_EQ(0, testCallback->getOnSuccessCount()); // this should be 1 but no bridge calls onSuccess yet delete testCallback; } @@ -262,6 +275,7 @@ TEST_F(MamaPublisherTest, DISABLED_PublishWithCallbacksBadSource) ASSERT_EQ(1, testCallback->getOnCreateCount()); ASSERT_EQ(numPublishes, testCallback->getOnErrorCount()); + ASSERT_EQ(0, testCallback->getOnSuccessCount()); } /** diff --git a/mama/dotnet/src/cs/MamaPublisher.cs b/mama/dotnet/src/cs/MamaPublisher.cs index 44ce7042b..a2e8a1904 100644 --- a/mama/dotnet/src/cs/MamaPublisher.cs +++ b/mama/dotnet/src/cs/MamaPublisher.cs @@ -582,6 +582,22 @@ private static void onError(IntPtr nativeHandle, short status, string topic, Int } } + private static void onSuccess(IntPtr nativeHandle, short status, string topic, IntPtr closure) + { + // Obtain the handle from the closure + GCHandle handle = (GCHandle)closure; + + // Extract the impl from the handle + MamaPublisher pub = (MamaPublisher)handle.Target; + + // Use the impl to invoke the success callback + if (null != pub) + { + // Invoke the callback + pub.mCallback.onSuccess(pub, (MamaStatus.mamaStatus)status, topic); + } + } + private static void onDestroy(IntPtr nativeHandle, IntPtr closure) { // Obtain the handle from the closure @@ -613,12 +629,15 @@ static MamaPublisher() mCallbackDelegates.mCreate = new OnPublisherCreateDelegate(MamaPublisher.onCreate); mCallbackDelegates.mDestroy = new OnPublisherDestroyDelegate(MamaPublisher.onDestroy); mCallbackDelegates.mError = new OnPublisherErrorDelegate(MamaPublisher.onError); + mCallbackDelegates.mSuccess = new OnPublisherSuccessDelegate(MamaPublisher.onSuccess); } private delegate void OnPublisherCreateDelegate(IntPtr nativeHandle, IntPtr closure); private delegate void OnPublisherErrorDelegate(IntPtr nativeHandle, short status, string topic, IntPtr closure); + private delegate void OnPublisherSuccessDelegate(IntPtr nativeHandle, short status, string topic, IntPtr closure); + private delegate void OnPublisherDestroyDelegate(IntPtr nativeHandle, IntPtr closure); // ===================================================================================== @@ -630,6 +649,7 @@ public struct PublisherCallbacks { public OnPublisherCreateDelegate mCreate; public OnPublisherErrorDelegate mError; + public OnPublisherSuccessDelegate mSuccess; public OnPublisherDestroyDelegate mDestroy; public IntPtr mReserved; } diff --git a/mama/dotnet/src/cs/MamaPublisherCallback.cs b/mama/dotnet/src/cs/MamaPublisherCallback.cs index 6b3a16b4d..019a41301 100644 --- a/mama/dotnet/src/cs/MamaPublisherCallback.cs +++ b/mama/dotnet/src/cs/MamaPublisherCallback.cs @@ -44,6 +44,13 @@ void onError(MamaPublisher publisher, MamaStatus.mamaStatus status, string topic); + /// + /// See interface remarks for details + /// + void onSuccess(MamaPublisher publisher, + MamaStatus.mamaStatus status, + string topic); + /// /// See interface remarks for details /// diff --git a/mama/dotnet/src/examples/MamaPublisher/MamaPublisherCS.cs b/mama/dotnet/src/examples/MamaPublisher/MamaPublisherCS.cs index b247c5b05..03e52f153 100644 --- a/mama/dotnet/src/examples/MamaPublisher/MamaPublisherCS.cs +++ b/mama/dotnet/src/examples/MamaPublisher/MamaPublisherCS.cs @@ -197,12 +197,19 @@ public void onCreate(MamaPublisher publisher) } public void onError(MamaPublisher publisher, - MamaStatus.mamaStatus status, - string topic) + MamaStatus.mamaStatus status, + string topic) { Console.WriteLine("onPublishError: " + topic + " " + status.ToString()); } + public void onSuccess(MamaPublisher publisher, + MamaStatus.mamaStatus status, + string topic) + { + Console.WriteLine("onPublishSuccess: " + topic + " " + status.ToString()); + } + public void onDestroy(MamaPublisher publisher) { if (!quiet) diff --git a/mama/jni/src/c/mamapublisherjni.c b/mama/jni/src/c/mamapublisherjni.c index 0ce87b8e1..5a959280a 100644 --- a/mama/jni/src/c/mamapublisherjni.c +++ b/mama/jni/src/c/mamapublisherjni.c @@ -75,6 +75,7 @@ static jmethodID sendCallbackMethod_g = NULL; static jmethodID publisherCallbackMethoOnCreate_g = NULL; static jmethodID publisherCallbackMethoOnDestroy_g = NULL; static jmethodID publisherCallbackMethoOnError_g = NULL; +static jmethodID publisherCallbackMethoOnSuccess_g = NULL; extern JavaVM* javaVM_g; @@ -122,9 +123,9 @@ static void MAMACALLTYPE publisherOnDestroyCb (mamaPublisher publisher, void* cl } static void MAMACALLTYPE publisherOnErrorCb (mamaPublisher publisher, - mama_status status, - const char* info, - void* closure) + mama_status status, + const char* info, + void* closure) { JNIEnv* env = utils_getENV(javaVM_g); pubCallbackClosure* closureImpl = (pubCallbackClosure*) closure; @@ -139,6 +140,24 @@ static void MAMACALLTYPE publisherOnErrorCb (mamaPublisher publisher, (*env)->DeleteLocalRef(env, jmsg); /* delete this since this thread is not from the JVM */ } +static void MAMACALLTYPE publisherOnSuccessCb (mamaPublisher publisher, + mama_status status, + const char* info, + void* closure) +{ + JNIEnv* env = utils_getENV(javaVM_g); + pubCallbackClosure* closureImpl = (pubCallbackClosure*)closure; + + /* Invoke the onSuccess() callback method */ + jstring jmsg = (*env)->NewStringUTF(env, info); + (*env)->CallVoidMethod(env, closureImpl->mClientCb, + publisherCallbackMethoOnSuccess_g, + closureImpl->mPublisher, + status, + jmsg); + (*env)->DeleteLocalRef(env, jmsg); /* delete this since this thread is not from the JVM */ +} + /****************************************************************************** * Public function implementation *******************************************************************************/ @@ -244,6 +263,7 @@ JNIEXPORT void JNICALL Java_com_wombat_mama_MamaPublisher__1create cb->onCreate = publisherOnCreateCb; cb->onDestroy = publisherOnDestroyCb; cb->onError = publisherOnErrorCb; + cb->onSuccess = publisherOnSuccessCb; status = mamaPublisher_createWithCallbacks( &cPublisher, @@ -836,6 +856,8 @@ JNIEXPORT void JNICALL Java_com_wombat_mama_MamaPublisher_initIDs "onDestroy", "(Lcom/wombat/mama/MamaPublisher;)V"); publisherCallbackMethoOnError_g = (*env)->GetMethodID(env, publisherCallbackClass, "onError", "(Lcom/wombat/mama/MamaPublisher;SLjava/lang/String;)V"); + publisherCallbackMethoOnSuccess_g = (*env)->GetMethodID(env, publisherCallbackClass, + "onSuccess", "(Lcom/wombat/mama/MamaPublisher;SLjava/lang/String;)V"); /* ----------------------------*/ /* get our send callback class */ diff --git a/mamda/c_cpp/src/examples/mamdapublisher.cpp b/mamda/c_cpp/src/examples/mamdapublisher.cpp index 1bad32a8d..8e0a67c97 100644 --- a/mamda/c_cpp/src/examples/mamdapublisher.cpp +++ b/mamda/c_cpp/src/examples/mamdapublisher.cpp @@ -44,6 +44,7 @@ #include using std::list; +using namespace std; using namespace Wombat; typedef vector SymbolList; diff --git a/mamda/c_cpp/src/examples/orderbooks/listenerBookPublisher.cpp b/mamda/c_cpp/src/examples/orderbooks/listenerBookPublisher.cpp index 5020f73ad..d210bb5e1 100644 --- a/mamda/c_cpp/src/examples/orderbooks/listenerBookPublisher.cpp +++ b/mamda/c_cpp/src/examples/orderbooks/listenerBookPublisher.cpp @@ -48,6 +48,7 @@ #include "../dictrequester.h" #include +using namespace std; using namespace Wombat; typedef list SubscriptionList; diff --git a/mamda/dotnet/src/examples/MamdaTradeTicker/MamdaTradeTicker.cs b/mamda/dotnet/src/examples/MamdaTradeTicker/MamdaTradeTicker.cs index 5a5e24568..3295a9bee 100644 --- a/mamda/dotnet/src/examples/MamdaTradeTicker/MamdaTradeTicker.cs +++ b/mamda/dotnet/src/examples/MamdaTradeTicker/MamdaTradeTicker.cs @@ -20,9 +20,7 @@ */ using System; -using System.Collections; using System.Threading; -using System.Collections; namespace Wombat.Mamda.Examples {