Blame ipc/glue/IOThreadChild.h

Packit f0b94e
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
Packit f0b94e
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
Packit f0b94e
/* This Source Code Form is subject to the terms of the Mozilla Public
Packit f0b94e
 * License, v. 2.0. If a copy of the MPL was not distributed with this
Packit f0b94e
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Packit f0b94e
Packit f0b94e
#ifndef dom_plugins_IOThreadChild_h
Packit f0b94e
#define dom_plugins_IOThreadChild_h 1
Packit f0b94e
Packit f0b94e
#include "chrome/common/child_thread.h"
Packit f0b94e
Packit f0b94e
namespace mozilla {
Packit f0b94e
namespace ipc {
Packit f0b94e
//-----------------------------------------------------------------------------
Packit f0b94e
Packit f0b94e
// The IOThreadChild class represents a background thread where the
Packit f0b94e
// IPC IO MessageLoop lives.
Packit f0b94e
class IOThreadChild : public ChildThread {
Packit f0b94e
 public:
Packit f0b94e
  IOThreadChild()
Packit f0b94e
      : ChildThread(base::Thread::Options(MessageLoop::TYPE_IO,
Packit f0b94e
                                          0))  // stack size
Packit f0b94e
  {}
Packit f0b94e
Packit f0b94e
  ~IOThreadChild() {}
Packit f0b94e
Packit f0b94e
  static MessageLoop* message_loop() {
Packit f0b94e
    return IOThreadChild::current()->Thread::message_loop();
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  // IOThreadChild owns the returned IPC::Channel.
Packit f0b94e
  static IPC::Channel* channel() {
Packit f0b94e
    return IOThreadChild::current()->ChildThread::channel();
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
 protected:
Packit f0b94e
  static IOThreadChild* current() {
Packit f0b94e
    return static_cast<IOThreadChild*>(ChildThread::current());
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
 private:
Packit f0b94e
  DISALLOW_EVIL_CONSTRUCTORS(IOThreadChild);
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
}  // namespace ipc
Packit f0b94e
}  // namespace mozilla
Packit f0b94e
Packit f0b94e
#endif  // ifndef dom_plugins_IOThreadChild_h