Make sure webrtc::VideoSource is released when WebRtcVideoTrackAdapter is destroyed.
[chromium-blink-merge.git] / components / gcm_driver / fake_gcm_app_handler.h
blobfb98957e308a6eedfd6df0f207dfdd5ca83cad0f
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_GCM_DRIVER_FAKE_GCM_APP_HANDLER_H_
6 #define COMPONENTS_GCM_DRIVER_FAKE_GCM_APP_HANDLER_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "components/gcm_driver/gcm_app_handler.h"
12 namespace base {
13 class RunLoop;
16 namespace gcm {
18 class FakeGCMAppHandler : public GCMAppHandler {
19 public:
20 enum Event {
21 NO_EVENT,
22 MESSAGE_EVENT,
23 MESSAGES_DELETED_EVENT,
24 SEND_ERROR_EVENT
27 FakeGCMAppHandler();
28 virtual ~FakeGCMAppHandler();
30 const Event& received_event() const { return received_event_; }
31 const std::string& app_id() const { return app_id_; }
32 const GCMClient::IncomingMessage& message() const { return message_; }
33 const GCMClient::SendErrorDetails& send_error_details() const {
34 return send_error_details_;
37 void WaitForNotification();
39 // GCMAppHandler:
40 virtual void ShutdownHandler() OVERRIDE;
41 virtual void OnMessage(const std::string& app_id,
42 const GCMClient::IncomingMessage& message) OVERRIDE;
43 virtual void OnMessagesDeleted(const std::string& app_id) OVERRIDE;
44 virtual void OnSendError(
45 const std::string& app_id,
46 const GCMClient::SendErrorDetails& send_error_details) OVERRIDE;
48 private:
49 void ClearResults();
51 scoped_ptr<base::RunLoop> run_loop_;
53 Event received_event_;
54 std::string app_id_;
55 GCMClient::IncomingMessage message_;
56 GCMClient::SendErrorDetails send_error_details_;
58 DISALLOW_COPY_AND_ASSIGN(FakeGCMAppHandler);
61 } // namespace gcm
63 #endif // COMPONENTS_GCM_DRIVER_FAKE_GCM_APP_HANDLER_H_