ipc/dbus/DBusThread.h
author Chia-hung Tai <ctai@mozilla.com>
Fri, 10 May 2013 13:39:22 -0700
changeset 133808 457c9f9544bdee85397a8e38b09482828657ee70
parent 133790 ca22a8f84a428b59211a1fd78c2481186d05c764
child 160213 905ce734b772a657ede8c05f4a5213bb0bd766f9
permissions -rw-r--r--
Bug 810099 - B2G MMS: support onretrieving event. r=vyang

/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_ipc_dbus_gonk_dbusthread_h__
#define mozilla_ipc_dbus_gonk_dbusthread_h__

#include "nscore.h"

class nsIRunnable;

namespace mozilla {
namespace ipc {

/**
 * Starts the DBus thread, which handles returning signals to objects
 * that call asynchronous functions. This should be called from the
 * main thread at startup.
 *
 * @return True on thread starting correctly, false otherwise
 */
bool StartDBus();

/**
 * Stop the DBus thread, assuming it's currently running. Should be
 * called from main thread.
 *
 * @return True on thread stopping correctly, false otherwise
 */
bool StopDBus();

/**
 * Dispatch an event to the DBus thread
 *
 * @param event An nsIRunnable to run in the DBus thread
 * @return NS_OK on success, or an error code otherwise
 */
nsresult
DispatchToDBusThread(nsIRunnable* event);

}
}

#endif