Exemplo n.º 1
0
    TestProxy()
    {
      mThread = zsLib::MessageQueueThread::createBasic();
      mThreadNeverCalled = zsLib::MessageQueueThread::createBasic();

      TestProxyCallbackPtr testObject = TestProxyCallback::create(mThread);

      ITestProxyDelegatePtr delegate = ITestProxyDelegateProxy::create(testObject);
      ITestSubscriptionProxyDelegatePtr subscriptionDelegate = ITestSubscriptionProxyDelegateProxy::create(testObject);

      ITestSubscriptionProxyDelegateSubscriptions subscriptions;

      SubscriptionPtr subscription = subscriptions.subscribe(subscriptionDelegate);

      TESTING_CHECK(delegate.get() != (ITestProxyDelegatePtr(testObject)).get())
      TESTING_CHECK(! zsLib::Proxy<ITestProxyDelegate>::isProxy(testObject))
      TESTING_CHECK(zsLib::Proxy<ITestProxyDelegate>::isProxy(delegate))

      ITestProxyDelegatePtr original = zsLib::Proxy<ITestProxyDelegate>::original(delegate);
      TESTING_EQUAL(original.get(), (ITestProxyDelegatePtr(testObject)).get())

      delegate->func1();
      for (int i = 0; i < 1000; ++i)
      {
        delegate->func2();
      }
      zsLib::String str("func3");
      delegate->func3(str);
      str = "bogus3";

      delegate->func4(0xFFFF);
      TESTING_EQUAL(getCheck().mCalledFunc4, 0xFFFF);

      TESTING_EQUAL(delegate->func5(0xABC, 0xDEF), "abc def");

      subscriptions.delegate()->sub1();

      subscriptions.delegate()->sub2("sub2");

      subscription->cancel();
      subscriptions.delegate()->sub2("post_sub2_cancelled");
    }
Exemplo n.º 2
0
    TestProxy()
    {
      mThread = zsLib::MessageQueueThread::singletonUsingCurrentGUIThreadsMessageQueue();
      mThreadNeverCalled = zsLib::MessageQueueThread::singletonUsingCurrentGUIThreadsMessageQueue();

      TestProxyCallbackPtr testObject = TestProxyCallback::create(mThread);

      ITestProxyDelegatePtr delegate = zsLib::Proxy<ITestProxyDelegate>::create(testObject);

      delegate->func1();
      for (int i = 0; i < 1000; ++i)
      {
        delegate->func2();
      }
      zsLib::String str("func3");
      delegate->func3(str);
      str = "bogus3";

      delegate->func4(0xFFFF);
      BOOST_EQUAL(getCheck().mCalledFunc4, 0xFFFF);

      BOOST_EQUAL(delegate->func5(0xABC, 0xDEF), "abc def");
    }