#ifndef CONTENT_RENDERER_MEDIA_MOCK_WEB_RTC_PEER_CONNECTION_HANDLER_CLIENT_H_
#define CONTENT_RENDERER_MEDIA_MOCK_WEB_RTC_PEER_CONNECTION_HANDLER_CLIENT_H_
#include <string>
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "third_party/WebKit/public/platform/WebMediaStream.h"
#include "third_party/WebKit/public/platform/WebRTCICECandidate.h"
#include "third_party/WebKit/public/platform/WebRTCPeerConnectionHandlerClient.h"
namespace content {
class MockWebRTCPeerConnectionHandlerClient
    : public blink::WebRTCPeerConnectionHandlerClient {
 public:
  MockWebRTCPeerConnectionHandlerClient();
  virtual ~MockWebRTCPeerConnectionHandlerClient();
  
  MOCK_METHOD0(negotiationNeeded, void());
  MOCK_METHOD1(didGenerateICECandidate,
               void(const blink::WebRTCICECandidate& candidate));
  MOCK_METHOD1(didChangeSignalingState, void(SignalingState state));
  MOCK_METHOD1(didChangeICEGatheringState, void(ICEGatheringState state));
  MOCK_METHOD1(didChangeICEConnectionState, void(ICEConnectionState state));
  MOCK_METHOD1(didAddRemoteStream,
               void(const blink::WebMediaStream& stream_descriptor));
  MOCK_METHOD1(didRemoveRemoteStream,
               void(const blink::WebMediaStream& stream_descriptor));
  MOCK_METHOD1(didAddRemoteDataChannel,
               void(blink::WebRTCDataChannelHandler*));
  void didGenerateICECandidateWorker(
      const blink::WebRTCICECandidate& candidate);
  void didAddRemoteStreamWorker(
      const blink::WebMediaStream& stream_descriptor);
  void didRemoveRemoteStreamWorker(
      const blink::WebMediaStream& stream_descriptor);
  const std::string& candidate_sdp() const { return candidate_sdp_; }
  int candidate_mlineindex() const {
    return candidate_mline_index_;
  }
  const std::string& candidate_mid() const { return candidate_mid_ ; }
  const blink::WebMediaStream& remote_stream() const { return remote_steam_;}
 private:
  blink::WebMediaStream remote_steam_;
  std::string candidate_sdp_;
  int candidate_mline_index_;
  std::string candidate_mid_;
  DISALLOW_COPY_AND_ASSIGN(MockWebRTCPeerConnectionHandlerClient);
};
}  
#endif