title: Calling a method when expected method on mock was invoked
body: <p>I have the following scenario:</p>
  
  <pre>
  class InterfaceA;
  class InterfaceB;
  class InterfaceC;
  
  
  class InterfaceA
  {
    virtual void foo(InterfaceC&) = 0;
  };
  
  class InterfaceB
  {
    virtual void bar() = 0;
  };
  
  class InterfaceC
  {
    virtual void bla() = 0;
  };
  
  // MOCKs
  
  class MockA : public InterfaceA
  {
    public:
      MOCK_METHOD0(foo, void(InterfaceC&));
  };
  
  class MockB : public InterfaceB
  {
    public:
      MOCK_METHOD0(bar, void());
  };
  
  
  class ImplC : public InterfaceC
  {
    public:
      ImplC(InterfaceA& a, Interface& b) : m_a(a), m_b(b) {}
  
      void doSomething() {
        m_a.foo(*this);
      }
  
      virtual void bla()
      {
        m_b.bar();
      }
  };
  
  </pre>
  
  <pre>
  MockA mockA;
  MockB mockB;
  
  EXPECT_CALL(mockA, foo());
  
  ImplC impl(mockA, mockB);
  
  impl.doSomething(); // will call foo on mockA
  
  </pre>
  
  <p>In case doSomething is invoked, foo will be called on MockA. How can I trigger an invocation of the method bla, in case foo will be invoked? Is it somehow possible to create an expectation like:</p>
  
  <pre>
  EXPECT_CALL(mockA, foo()).WillOnce(Invoke(impl.bla()));
  </pre>
  
  <p>?</p>
  
  <p>I hope the answer is clear and the example too. </p>
  
  <p>Thanks in advance.
  Mart</p>