mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
3f625686df
- Bug 1157064 - implementation of font-display. r=heycam,khuey (43fe566f45)
- Bug 1235186 - fix small userfont logging nit. r=m_kato (d40bead913)
- Bug 1188802 - only rebuild local webfont rules when needed. r=heycam (f74200aeb2)
- Backout unrelated code landed in dee3e26cc1c0 by mistake. (5d254b78b6)
- Bug 1236506: Add support for "-webkit-filter" as an alias for CSS property "filter". r=heycam (1e7ac6554a)
- Bug 1230426 - Remove support for -webkit-border-image longhand CSS property aliases. r=dholbert (a1a2d5e82a)
- Bug 1246101 - Restore some auto-completion for the align-/justify-* properties. r=dholbert (a33dd2e7c2)
- Bug 1195142 patch 1 - Set CSS_PROPERTY_CREATES_STACKING_CONTEXT for the opacity property. r=BenWa (e547f7b420)
- Bug 1195142 patch 2 - Add reftests for will-change creating a stacking context. r=BenWa (3bb9dc17b9)
- Bug 1195142 patch 3 - Link to correct specification URLs so the CSSWG test suite system is happy. (a8121cdcf0)
- Bug 1234966 - nsStylePosition::MaxDifference should include nsChangeHint_NeutralChange because CalcDiffrence returns it. r=heycam (aa0bf89e54)
- Bug 1244166: Don't ignore stroke/fill properties in high-contrast mode, since doing so can produce icons that are invisible or whose colors are unrelated to the user's chosen high-contrast colors. r=longsonr (6448b05118)
- Bug 1157057 - Rewrite the handling of the nsITimer object in nrappkitTimerCallback; r=ekr (7cc88409b0)
- Bug 1117984: added proxy connection state enum. r=bwc (0c643ff34a)
- Bug 1231971 - Refactor the NAT simulator to use e10s sockets when appropriate. r=drno (c0722c431b)
- Bug 1231973 - Allow NAT simulator to be enabled with the pref system. r=drno (c92ca4fefa)
- Bug 1201209 - Extend the timeout on socket readiness in test_nr_socket_unittest. r=drno (e9e5400902)
- Bug 1216815 - fix memory leaks in test TCP STUN server. r=mjf (11219f41fc)
- Bug 1194385 - Add new unit tests which demonstrate the current behavior. r=bwc (900c621491)
- crashreporte (2ac99868b6)
- Bug 1150966: Check whether |streams_| is null on stats methods in NrIceMediaStream. r=drno (130a9ac2da)
- Bug 1241690: reduce logging output for unconnected PCs. r=bwc (aa236d7184)
- Bug 1224845 - close sockets on errors and don't connect to IPv4 TURN TCP from IPv6 sockets. r=jesup (f128a67692)
- Bug 1189961 - added DNS AAAA convertion to nICEr transport addr. r=bwc (30c14fe7dd)
- Bug 1247536 - Fix -Wunreachable-code warning in media/mtransport/. r=drno (f6768f8539)
- Bug 1194259: nsresult != NS_IMETHODIMP rs=bustage (3a922e6e14)
- Bug 1237909 part 1 - Remove unused TransportLayer::RunOnThread function. r=bwc (d2d219d63a)
- Bug 1237909 part 2 - Do not return value from task for sync dispatch. r=froydnj (c5ec2aecfc)
- Bug 1245035 - Move LOCAL_INCLUDES to moz.build in media/omx-plugin/lib/ics/libvideoeditorplayer. r=mshal (54c363c9f7)
- Bug 1232069 - Check box sizes before alloc©. r=jya (86cfe660e7)
- Bug 1234778: Mark all audio frames as keyframes. r=kentuckyfriedtakahe (5e4f1b54d5)
- Bug 1231169 - report rust mp4parse track status in telemetry. r=kinetik,vladan (260d0fed99)
- Bug 1238420 - Update mp4parse-rust invocations in MP4Metadata to match CAPI changes. r=rillian (64c5d6a1ef)
- Bug 1238420 - Report mp4parse-rust errors via Telemetry. r=rillian,vladan (ff72f8dead)
- Bug 1219452 - Update script for rust mp4parser. r=kinetik (9abc268b60)
- Bug 1220754 - Update rust mp4parse import script for v0.1.3. r=kinetik (7185657598)
- Bug 1224785, Part 1 - Implement alert favicons backend. r=wchen (665c44b0cb)
- Bug 1224785, Part 2 - Show the site favicon in OS X notifications. r=mstange (814ff022ba)
- Bug 1224785, Part 3 - Don't include ShowWith{Icon}Backend on Android. r=me (fe323c2960)
- Bug 1243418 - Fix up incorrect 'aOverwrite' usage and impl in GLUploadHelpers r=jgilbert (67677b4921)
- clarify comment (88003aaf96)
- Bug 1204284: Show paper size options in OS X print dialog. r=smichaud (8bb40b4349)
- Bug 1214511 - Show copies, page range selection, and more on the expanded OSX print dialog. r=mstange (301d5cdccc)
- Bug 1216478 - prefer tooltiptext on a XUL element over title attribute on a containing toolbaritem when determining accessible name, r=surkov (ec1dfcad37)
- Bug 1248838 - ARIA owns change may fail, r=yzen (d183be3f3c)
- Bug 1222531 - turn off -Wextra-tokens on clang-cl in accessible/ directories; r=tbsaunde (6dd4dcae20)
- bug 1241453 - add DocAccessibleParent::GetXPCAccessible() r=davidb (f243398399)
- Bug 1087608 - eliminating a pref observer leak and fixing test timeout overflow that cause intermittents. r=eeejay (413354c349)
- Bug 1238368 - Re-introduce workaround for Android tap gesture. r=yzen (04bb9cea5a)
- Bug 1233863 - ARM64: Disable tests that require ion.enable = 1. r=jimb (b268c03c22)
- Bug 1191976 - Intentionally crash if we hit an IPC FatalError in the parent process. r=billm (b6e9d90d34)
- Bug 1194721: Add |DaemonRunnable8|, r=shuang (0b293cb8a5)
- Bug 1194721: Add PDU_ prefix to daemon PDU constants, r=shuang (834240b14b)
- Bug 1228546 - Implement peripheral mode support for GATT API. r=brsun, r=mrbkap (01a711cac6)
- Bug 1194721: Add helpers for Gonk sensors daemon, r=gsvelto (524d1d6792)
886 lines
25 KiB
C++
886 lines
25 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=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/. */
|
|
|
|
#include "base/basictypes.h"
|
|
|
|
#include "BluetoothServiceChildProcess.h"
|
|
|
|
#include "mozilla/Assertions.h"
|
|
#include "mozilla/dom/ContentChild.h"
|
|
#include "mozilla/dom/ipc/BlobChild.h"
|
|
|
|
#include "BluetoothChild.h"
|
|
#include "MainThreadUtils.h"
|
|
|
|
USING_BLUETOOTH_NAMESPACE
|
|
|
|
namespace {
|
|
|
|
BluetoothChild* sBluetoothChild;
|
|
|
|
inline
|
|
void
|
|
SendRequest(BluetoothReplyRunnable* aRunnable, const Request& aRequest)
|
|
{
|
|
MOZ_ASSERT(NS_IsMainThread());
|
|
MOZ_ASSERT(aRunnable);
|
|
|
|
NS_WARN_IF_FALSE(sBluetoothChild,
|
|
"Calling methods on BluetoothServiceChildProcess during "
|
|
"shutdown!");
|
|
|
|
if (sBluetoothChild) {
|
|
BluetoothRequestChild* actor = new BluetoothRequestChild(aRunnable);
|
|
sBluetoothChild->SendPBluetoothRequestConstructor(actor, aRequest);
|
|
}
|
|
}
|
|
|
|
} // namespace
|
|
|
|
// static
|
|
BluetoothServiceChildProcess*
|
|
BluetoothServiceChildProcess::Create()
|
|
{
|
|
MOZ_ASSERT(!sBluetoothChild);
|
|
|
|
mozilla::dom::ContentChild* contentChild =
|
|
mozilla::dom::ContentChild::GetSingleton();
|
|
MOZ_ASSERT(contentChild);
|
|
|
|
BluetoothServiceChildProcess* btService = new BluetoothServiceChildProcess();
|
|
|
|
sBluetoothChild = new BluetoothChild(btService);
|
|
contentChild->SendPBluetoothConstructor(sBluetoothChild);
|
|
|
|
return btService;
|
|
}
|
|
|
|
BluetoothServiceChildProcess::BluetoothServiceChildProcess()
|
|
{
|
|
}
|
|
|
|
BluetoothServiceChildProcess::~BluetoothServiceChildProcess()
|
|
{
|
|
sBluetoothChild = nullptr;
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::NoteDeadActor()
|
|
{
|
|
MOZ_ASSERT(sBluetoothChild);
|
|
sBluetoothChild = nullptr;
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::RegisterBluetoothSignalHandler(
|
|
const nsAString& aNodeName,
|
|
BluetoothSignalObserver* aHandler)
|
|
{
|
|
if (sBluetoothChild && !IsSignalRegistered(aNodeName)) {
|
|
sBluetoothChild->SendRegisterSignalHandler(nsString(aNodeName));
|
|
}
|
|
BluetoothService::RegisterBluetoothSignalHandler(aNodeName, aHandler);
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::UnregisterBluetoothSignalHandler(
|
|
const nsAString& aNodeName,
|
|
BluetoothSignalObserver* aHandler)
|
|
{
|
|
BluetoothService::UnregisterBluetoothSignalHandler(aNodeName, aHandler);
|
|
if (sBluetoothChild && !IsSignalRegistered(aNodeName)) {
|
|
sBluetoothChild->SendUnregisterSignalHandler(nsString(aNodeName));
|
|
}
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::GetAdaptersInternal(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, GetAdaptersRequest());
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::StartInternal(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StartBluetoothRequest());
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::StopInternal(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StopBluetoothRequest());
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::GetConnectedDevicePropertiesInternal(
|
|
uint16_t aServiceUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ConnectedDevicePropertiesRequest(aServiceUuid));
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::GetPairedDevicePropertiesInternal(
|
|
const nsTArray<BluetoothAddress>& aDeviceAddresses,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
PairedDevicePropertiesRequest request;
|
|
request.addresses().AppendElements(aDeviceAddresses);
|
|
|
|
SendRequest(aRunnable, request);
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::FetchUuidsInternal(
|
|
const BluetoothAddress& aDeviceAddress, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, FetchUuidsRequest(aDeviceAddress));
|
|
return NS_OK;
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StopDiscoveryInternal(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StopDiscoveryRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StartDiscoveryInternal(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StartDiscoveryRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StopLeScanInternal(
|
|
const BluetoothUuid& aScanUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StopLeScanRequest(aScanUuid));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StartLeScanInternal(
|
|
const nsTArray<BluetoothUuid>& aServiceUuids,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StartLeScanRequest(aServiceUuids));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StartAdvertisingInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattAdvertisingData& aAdvData,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StartAdvertisingRequest(aAppUuid, aAdvData));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StopAdvertisingInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StopAdvertisingRequest(aAppUuid));
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::SetProperty(BluetoothObjectType aType,
|
|
const BluetoothNamedValue& aValue,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SetPropertyRequest(aType, aValue));
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::CreatePairedDeviceInternal(
|
|
const BluetoothAddress& aDeviceAddress, int aTimeout,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, PairRequest(aDeviceAddress, aTimeout));
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::RemoveDeviceInternal(
|
|
const BluetoothAddress& aDeviceAddress, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, UnpairRequest(aDeviceAddress));
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::GetServiceChannel(const BluetoothAddress& aDeviceAddress,
|
|
const BluetoothUuid& aServiceUuid,
|
|
BluetoothProfileManagerBase* aManager)
|
|
{
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
bool
|
|
BluetoothServiceChildProcess::UpdateSdpRecords(const BluetoothAddress& aDeviceAddress,
|
|
BluetoothProfileManagerBase* aManager)
|
|
{
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::PinReplyInternal(
|
|
const BluetoothAddress& aDeviceAddress, bool aAccept,
|
|
const BluetoothPinCode& aPinCode, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, PinReplyRequest(aDeviceAddress, aAccept, aPinCode));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SspReplyInternal(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
BluetoothSspVariant aVariant, bool aAccept,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SspReplyRequest(aDeviceAddress, aVariant, aAccept));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SetPinCodeInternal(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
const BluetoothPinCode& aPinCode,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SetPinCodeRequest(aDeviceAddress, aPinCode));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SetPasskeyInternal(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
uint32_t aPasskey,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SetPasskeyRequest(aDeviceAddress, aPasskey));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SetPairingConfirmationInternal(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
bool aConfirm,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
if (aConfirm) {
|
|
SendRequest(aRunnable, ConfirmPairingConfirmationRequest(aDeviceAddress));
|
|
} else {
|
|
SendRequest(aRunnable, DenyPairingConfirmationRequest(aDeviceAddress));
|
|
}
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::Connect(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
uint32_t aCod, uint16_t aServiceUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ConnectRequest(aDeviceAddress, aCod, aServiceUuid));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::Disconnect(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
uint16_t aServiceUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, DisconnectRequest(aDeviceAddress, aServiceUuid));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SendFile(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SendFileRequest(aDeviceAddress, nullptr, aBlobChild));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SendFile(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
Blob* aBlobChild,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::StopSendingFile(
|
|
const BluetoothAddress& aDeviceAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, StopSendingFileRequest(aDeviceAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ConfirmReceivingFile(
|
|
const BluetoothAddress& aDeviceAddress, bool aConfirm,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
if(aConfirm) {
|
|
SendRequest(aRunnable, ConfirmReceivingFileRequest(aDeviceAddress));
|
|
return;
|
|
}
|
|
|
|
SendRequest(aRunnable, DenyReceivingFileRequest(aDeviceAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ConnectSco(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ConnectScoRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::DisconnectSco(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, DisconnectScoRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::IsScoConnected(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, IsScoConnectedRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SetObexPassword(
|
|
const nsAString& aPassword,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, SetObexPasswordRequest(nsString(aPassword)));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::RejectObexAuth(BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, RejectObexAuthRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyTovCardPulling(
|
|
BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ReplyTovCardPullingRequest(nullptr, aBlobChild));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyTovCardPulling(
|
|
Blob* aBlobChild,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToPhonebookPulling(
|
|
BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
uint16_t aPhonebookSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToPhonebookPullingRequest(nullptr, aBlobChild, aPhonebookSize));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToPhonebookPulling(
|
|
Blob* aBlobChild,
|
|
uint16_t aPhonebookSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyTovCardListing(
|
|
BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
uint16_t aPhonebookSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyTovCardListingRequest(nullptr, aBlobChild, aPhonebookSize));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyTovCardListing(
|
|
Blob* aBlobChild,
|
|
uint16_t aPhonebookSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapFolderListing(long aMasId,
|
|
const nsAString& aFolderList,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToFolderListingRequest(aMasId, nsString(aFolderList)));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapMessagesListing(BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
long aMasId,
|
|
bool aNewMessage,
|
|
const nsAString& aTimestamp,
|
|
int aSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToMessagesListingRequest(aMasId, nullptr, aBlobChild,
|
|
aNewMessage, nsString(aTimestamp), aSize));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapMessagesListing(long aMasId,
|
|
Blob* aBlob,
|
|
bool aNewMessage,
|
|
const nsAString& aTimestamp,
|
|
int aSize,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapGetMessage(BlobParent* aBlobParent,
|
|
BlobChild* aBlobChild,
|
|
long aMasId,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToGetMessageRequest(aMasId, nullptr, aBlobChild));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapGetMessage(Blob* aBlob,
|
|
long aMasId,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
// Parent-process-only method
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapSetMessageStatus(long aMasId,
|
|
bool aStatus,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToSetMessageStatusRequest(aMasId, aStatus));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapSendMessage(long aMasId,
|
|
const nsAString& aHandleId,
|
|
bool aStatus,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToSendMessageRequest(aMasId, nsString(aHandleId), aStatus));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ReplyToMapMessageUpdate(long aMasId,
|
|
bool aStatus,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
ReplyToMessageUpdateRequest(aMasId, aStatus));
|
|
}
|
|
|
|
#ifdef MOZ_B2G_RIL
|
|
void
|
|
BluetoothServiceChildProcess::AnswerWaitingCall(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, AnswerWaitingCallRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::IgnoreWaitingCall(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, IgnoreWaitingCallRequest());
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ToggleCalls(
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ToggleCallsRequest());
|
|
}
|
|
#endif // MOZ_B2G_RIL
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SendMetaData(const nsAString& aTitle,
|
|
const nsAString& aArtist,
|
|
const nsAString& aAlbum,
|
|
int64_t aMediaNumber,
|
|
int64_t aTotalMediaCount,
|
|
int64_t aDuration,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
SendMetaDataRequest(nsString(aTitle), nsString(aArtist),
|
|
nsString(aAlbum), aMediaNumber,
|
|
aTotalMediaCount, aDuration));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::SendPlayStatus(int64_t aDuration,
|
|
int64_t aPosition,
|
|
ControlPlayStatus aPlayStatus,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
SendPlayStatusRequest(aDuration, aPosition, aPlayStatus));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::ConnectGattClientInternal(
|
|
const BluetoothUuid& aAppUuid, const BluetoothAddress& aDeviceAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, ConnectGattClientRequest(aAppUuid, aDeviceAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::DisconnectGattClientInternal(
|
|
const BluetoothUuid& aAppUuid, const BluetoothAddress& aDeviceAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
DisconnectGattClientRequest(aAppUuid, aDeviceAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::DiscoverGattServicesInternal(
|
|
const BluetoothUuid& aAppUuid, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, DiscoverGattServicesRequest(aAppUuid));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientStartNotificationsInternal(
|
|
const BluetoothUuid& aAppUuid, const BluetoothGattServiceId& aServId,
|
|
const BluetoothGattId& aCharId, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientStartNotificationsRequest(aAppUuid, aServId, aCharId));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientStopNotificationsInternal(
|
|
const BluetoothUuid& aAppUuid, const BluetoothGattServiceId& aServId,
|
|
const BluetoothGattId& aCharId, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientStopNotificationsRequest(aAppUuid, aServId, aCharId));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::UnregisterGattClientInternal(
|
|
int aClientIf, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, UnregisterGattClientRequest(aClientIf));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientReadRemoteRssiInternal(
|
|
int aClientIf, const BluetoothAddress& aDeviceAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientReadRemoteRssiRequest(aClientIf, aDeviceAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientReadCharacteristicValueInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattServiceId& aServiceId,
|
|
const BluetoothGattId& aCharacteristicId,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientReadCharacteristicValueRequest(aAppUuid,
|
|
aServiceId,
|
|
aCharacteristicId));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientWriteCharacteristicValueInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattServiceId& aServiceId,
|
|
const BluetoothGattId& aCharacteristicId,
|
|
const BluetoothGattWriteType& aWriteType,
|
|
const nsTArray<uint8_t>& aValue,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientWriteCharacteristicValueRequest(aAppUuid,
|
|
aServiceId,
|
|
aCharacteristicId,
|
|
aWriteType,
|
|
aValue));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientReadDescriptorValueInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattServiceId& aServiceId,
|
|
const BluetoothGattId& aCharacteristicId,
|
|
const BluetoothGattId& aDescriptorId,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientReadDescriptorValueRequest(aAppUuid,
|
|
aServiceId,
|
|
aCharacteristicId,
|
|
aDescriptorId));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattClientWriteDescriptorValueInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattServiceId& aServiceId,
|
|
const BluetoothGattId& aCharacteristicId,
|
|
const BluetoothGattId& aDescriptorId,
|
|
const nsTArray<uint8_t>& aValue,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattClientWriteDescriptorValueRequest(aAppUuid,
|
|
aServiceId,
|
|
aCharacteristicId,
|
|
aDescriptorId,
|
|
aValue));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerRegisterInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,GattServerRegisterRequest(aAppUuid));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerConnectPeripheralInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAddress& aAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerConnectPeripheralRequest(aAppUuid, aAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerDisconnectPeripheralInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAddress& aAddress,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerDisconnectPeripheralRequest(aAppUuid, aAddress));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::UnregisterGattServerInternal(
|
|
int aServerIf, BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable, UnregisterGattServerRequest(aServerIf));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerAddServiceInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothGattServiceId& aServiceId,
|
|
uint16_t aHandleCount,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerAddServiceRequest(aAppUuid, aServiceId, aHandleCount));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerAddIncludedServiceInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
const BluetoothAttributeHandle& aIncludedServiceHandle,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerAddIncludedServiceRequest(aAppUuid,
|
|
aServiceHandle,
|
|
aIncludedServiceHandle));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerAddCharacteristicInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
const BluetoothUuid& aCharacteristicUuid,
|
|
BluetoothGattAttrPerm aPermissions,
|
|
BluetoothGattCharProp aProperties,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerAddCharacteristicRequest(aAppUuid,
|
|
aServiceHandle,
|
|
aCharacteristicUuid,
|
|
aPermissions,
|
|
aProperties));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerAddDescriptorInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
const BluetoothAttributeHandle& aCharacteristicHandle,
|
|
const BluetoothUuid& aDescriptorUuid,
|
|
BluetoothGattAttrPerm aPermissions,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerAddDescriptorRequest(aAppUuid,
|
|
aServiceHandle,
|
|
aCharacteristicHandle,
|
|
aDescriptorUuid,
|
|
aPermissions));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerRemoveServiceInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerRemoveServiceRequest(aAppUuid, aServiceHandle));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerStartServiceInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerStartServiceRequest(aAppUuid, aServiceHandle));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerStopServiceInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAttributeHandle& aServiceHandle,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerStopServiceRequest(aAppUuid, aServiceHandle));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerSendResponseInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAddress& aAddress,
|
|
uint16_t aStatus,
|
|
int32_t aRequestId,
|
|
const BluetoothGattResponse& aRsp,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerSendResponseRequest(aAppUuid,
|
|
aAddress,
|
|
aStatus,
|
|
aRequestId,
|
|
aRsp));
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::GattServerSendIndicationInternal(
|
|
const BluetoothUuid& aAppUuid,
|
|
const BluetoothAddress& aAddress,
|
|
const BluetoothAttributeHandle& aCharacteristicHandle,
|
|
bool aConfirm,
|
|
const nsTArray<uint8_t>& aValue,
|
|
BluetoothReplyRunnable* aRunnable)
|
|
{
|
|
SendRequest(aRunnable,
|
|
GattServerSendIndicationRequest(aAppUuid,
|
|
aAddress,
|
|
aCharacteristicHandle,
|
|
aConfirm,
|
|
aValue));
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::HandleStartup()
|
|
{
|
|
// Don't need to do anything here for startup since our Create function takes
|
|
// care of the actor machinery.
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::HandleShutdown()
|
|
{
|
|
// If this process is shutting down then we need to disconnect ourselves from
|
|
// the parent.
|
|
if (sBluetoothChild) {
|
|
sBluetoothChild->BeginShutdown();
|
|
}
|
|
return NS_OK;
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::SendSinkMessage(const nsAString& aDeviceAddresses,
|
|
const nsAString& aMessage)
|
|
{
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
nsresult
|
|
BluetoothServiceChildProcess::SendInputMessage(const nsAString& aDeviceAddresses,
|
|
const nsAString& aMessage)
|
|
{
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|
|
void
|
|
BluetoothServiceChildProcess::UpdatePlayStatus(uint32_t aDuration,
|
|
uint32_t aPosition,
|
|
ControlPlayStatus aPlayStatus)
|
|
{
|
|
MOZ_CRASH("This should never be called!");
|
|
}
|
|
|