1 // Copyright 2013 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 #include "mojo/public/cpp/bindings/lib/message_queue.h"
10 #include "mojo/public/cpp/bindings/message.h"
15 MessageQueue::MessageQueue() {
18 MessageQueue::~MessageQueue() {
19 while (!queue_.empty())
23 bool MessageQueue::IsEmpty() const {
24 return queue_.empty();
27 Message* MessageQueue::Peek() {
28 assert(!queue_.empty());
29 return queue_.front();
32 void MessageQueue::Push(Message* message) {
33 queue_.push(new Message());
34 queue_.back()->Swap(message);
37 void MessageQueue::Pop(Message* message) {
38 assert(!queue_.empty());
39 queue_.front()->Swap(message);
43 void MessageQueue::Pop() {
44 assert(!queue_.empty());
45 delete queue_.front();
49 } // namespace internal