gecko-dev/dom/bluetooth2/bluedroid/BluetoothUtils.h
Thomas Zimmermann f86f3b798c Bug 1061124: Cleanup BluetoothA2DPManager and related code (under bluetooth2/), r=btian
The patch removes unused callbacks and helper runnables from the
Bluedroid implementation of BluetoothA2DPManager. It also removes
the last Bluedroid-specific code from BluetoothUtils.{cpp,h}.
2014-09-05 10:00:41 +02:00

83 lines
2.9 KiB
C++

/* -*- 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_dom_bluetooth_bluetoothutils_h__
#define mozilla_dom_bluetooth_bluetoothutils_h__
#include "BluetoothCommon.h"
#include "js/TypeDecls.h"
BEGIN_BLUETOOTH_NAMESPACE
class BluetoothNamedValue;
class BluetoothValue;
class BluetoothReplyRunnable;
void
UuidToString(const BluetoothUuid& aUuid, nsAString& aString);
bool
SetJsObject(JSContext* aContext,
const BluetoothValue& aValue,
JS::Handle<JSObject*> aObj);
bool
BroadcastSystemMessage(const nsAString& aType,
const BluetoothValue& aData);
/**
* Dispatch Bluetooth reply to main thread. The reply will contain an error
* string if the request fails.
*
* This function is mainly designed for DOMRequest-based methods which return
* 'DOMRequest'. If aErrorStr is not empty, the DOMRequest property 'error.name'
* would be updated to aErrorStr right before the callback function 'onerror'
* is fired.
*
* @param aRunnable the runnable to reply the bluetooth request.
* @param aValue the Bluetooth value which is used to reply a Bluetooth
* request when the request finished successfully.
* @param aErrorStr the error string which is used to reply a Bluetooth
* request when the request failed.
*/
void
DispatchBluetoothReply(BluetoothReplyRunnable* aRunnable,
const BluetoothValue& aValue,
const nsAString& aErrorStr);
/**
* Dispatch Bluetooth reply to main thread. The reply will contain an error
* status if the request fails.
*
* This function mainly designed for Bluetooth APIs which return 'Promise'.
* If aStatusCode is not STATUS_SUCCESS, the Promise would reject with an
* Exception object.
* The ns error used by Exception will be associated with aStatusCode.
* The name and messege of Exception are defined in dom/base/domerr.msg and
* will be filled automatically during promise rejection.
*
* @param aRunnable the runnable to reply the bluetooth request.
* @param aValue the Bluetooth value which is used to reply a Bluetooth
* request if the request finished successfully.
* @param aStatusCode the error status which is used to reply a Bluetooth
* request when the request failed.
*/
void
DispatchBluetoothReply(BluetoothReplyRunnable* aRunnable,
const BluetoothValue& aValue,
const enum BluetoothStatus aStatusCode);
void
DispatchStatusChangedEvent(const nsAString& aType,
const nsAString& aDeviceAddress,
bool aStatus);
END_BLUETOOTH_NAMESPACE
#endif