diff options
Diffstat (limited to 'chrome/browser/media/router/presentation_session_messages_observer.cc')
-rw-r--r-- | chrome/browser/media/router/presentation_session_messages_observer.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome/browser/media/router/presentation_session_messages_observer.cc b/chrome/browser/media/router/presentation_session_messages_observer.cc new file mode 100644 index 0000000..c20c1ae --- /dev/null +++ b/chrome/browser/media/router/presentation_session_messages_observer.cc @@ -0,0 +1,33 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/media/router/presentation_session_messages_observer.h" + +#include "chrome/browser/media/router/media_router.h" + +namespace media_router { + +PresentationSessionMessagesObserver::PresentationSessionMessagesObserver( + const content::PresentationSessionMessageCallback& message_cb, + const MediaRoute::Id& route_id, + MediaRouter* router) + : message_cb_(message_cb), route_id_(route_id), router_(router) { + DCHECK(!message_cb_.is_null()); + DCHECK(!route_id_.empty()); + DCHECK(router_); + router_->RegisterPresentationSessionMessagesObserver(this); +} + +PresentationSessionMessagesObserver::~PresentationSessionMessagesObserver() { + router_->UnregisterPresentationSessionMessagesObserver(this); +} + +void PresentationSessionMessagesObserver::OnMessagesReceived( + const ScopedVector<content::PresentationSessionMessage>& messages) { + DVLOG(2) << __FUNCTION__ << ", number of messages : " << messages.size(); + DCHECK(!messages.empty()); + message_cb_.Run(messages); +} + +} // namespace media_router |