#ifndef MOJO_PUBLIC_CPP_BINDINGS_TESTS_MESSAGE_QUEUE_H_
#define MOJO_PUBLIC_CPP_BINDINGS_TESTS_MESSAGE_QUEUE_H_
#include "base/containers/queue.h"
#include "mojo/public/cpp/bindings/message.h"
namespace mojo {
namespace test {
class MessageQueue {
public:
MessageQueue();
MessageQueue(const MessageQueue&) = delete;
MessageQueue& operator=(const MessageQueue&) = delete;
~MessageQueue();
bool IsEmpty() const;
void Push(Message* message);
void Pop(Message* message);
size_t size() const { return queue_.size(); }
private:
void Pop();
base::queue<Message> queue_;
};
}
}
#endif