mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
Bug 1236561 - part 1 - convert easy cases of nsAutoArrayPtr<T> to UniquePtr<T[]> in dom/bluetooth/; r=btian
This commit is contained in:
parent
1d5110ac59
commit
3dfc3842bc
@ -15,6 +15,7 @@
|
||||
#include "mozilla/dom/bluetooth/BluetoothTypes.h"
|
||||
#include "mozilla/Services.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "MainThreadUtils.h"
|
||||
#include "nsIObserverService.h"
|
||||
#include "nsThreadUtils.h"
|
||||
@ -848,8 +849,7 @@ BluetoothAvrcpManager::GetElementAttrNotification(
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
nsAutoArrayPtr<BluetoothAvrcpElementAttribute> attrs(
|
||||
new BluetoothAvrcpElementAttribute[aNumAttrs]);
|
||||
auto attrs = MakeUnique<BluetoothAvrcpElementAttribute[]>(aNumAttrs);
|
||||
|
||||
for (uint8_t i = 0; i < aNumAttrs; ++i) {
|
||||
attrs[i].mId = aAttrs[i];
|
||||
@ -859,7 +859,7 @@ BluetoothAvrcpManager::GetElementAttrNotification(
|
||||
}
|
||||
|
||||
MOZ_ASSERT(sBtAvrcpInterface);
|
||||
sBtAvrcpInterface->GetElementAttrRsp(aNumAttrs, attrs, nullptr);
|
||||
sBtAvrcpInterface->GetElementAttrRsp(aNumAttrs, attrs.get(), nullptr);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -633,8 +633,8 @@ BluetoothMapSmsManager::ReplyToGetWithHeaderBody(UniquePtr<uint8_t[]> aResponse,
|
||||
|
||||
// Read blob data from input stream
|
||||
uint32_t numRead = 0;
|
||||
nsAutoArrayPtr<char> buf(new char[remainingPacketSize]);
|
||||
nsresult rv = mDataStream->Read(buf, remainingPacketSize, &numRead);
|
||||
auto buf = MakeUnique<char[]>(remainingPacketSize);
|
||||
nsresult rv = mDataStream->Read(buf.get(), remainingPacketSize, &numRead);
|
||||
if (NS_FAILED(rv)) {
|
||||
BT_LOGR("Failed to read from input stream. rv=0x%x",
|
||||
static_cast<uint32_t>(rv));
|
||||
@ -722,16 +722,16 @@ BluetoothMapSmsManager::ReplyToMessagesListing(Blob* aBlob, long aMasId,
|
||||
uint8_t len = timestampStr.Length();
|
||||
|
||||
// Total length: [NewMessage:3] + [MseTime:var] + [MessageListingSize:4]
|
||||
nsAutoArrayPtr<uint8_t> appParameters(new uint8_t[len + 9]);
|
||||
auto appParameters = MakeUnique<uint8_t[]>(len + 9);
|
||||
uint8_t newMessage = aNewMessage ? 1 : 0;
|
||||
|
||||
AppendAppParameter(appParameters,
|
||||
AppendAppParameter(&appParameters[0],
|
||||
3,
|
||||
(uint8_t) Map::AppParametersTagId::NewMessage,
|
||||
&newMessage,
|
||||
sizeof(newMessage));
|
||||
|
||||
AppendAppParameter(appParameters + 3,
|
||||
AppendAppParameter(&appParameters[3],
|
||||
len + 2,
|
||||
(uint8_t) Map::AppParametersTagId::MSETime,
|
||||
str,
|
||||
@ -740,7 +740,7 @@ BluetoothMapSmsManager::ReplyToMessagesListing(Blob* aBlob, long aMasId,
|
||||
uint8_t msgListingSize[2];
|
||||
BigEndian::writeUint16(&msgListingSize[0], aSize);
|
||||
|
||||
AppendAppParameter(appParameters + 5 + len,
|
||||
AppendAppParameter(&appParameters[5 + len],
|
||||
4,
|
||||
(uint8_t) Map::AppParametersTagId::MessagesListingSize,
|
||||
msgListingSize,
|
||||
@ -748,7 +748,7 @@ BluetoothMapSmsManager::ReplyToMessagesListing(Blob* aBlob, long aMasId,
|
||||
|
||||
index += AppendHeaderAppParameters(&res[index],
|
||||
mRemoteMaxPacketLength,
|
||||
appParameters,
|
||||
appParameters.get(),
|
||||
len + 9);
|
||||
|
||||
if (mBodyRequired) {
|
||||
@ -844,7 +844,7 @@ BluetoothMapSmsManager::ReplyToSendMessage(
|
||||
* with 16 hexadecimal digits.
|
||||
*/
|
||||
int len = aHandleId.Length();
|
||||
nsAutoArrayPtr<uint8_t> handleId(new uint8_t[(len + 1) * 2]);
|
||||
auto handleId = MakeUnique<uint8_t[]>((len + 1) * 2);
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
BigEndian::writeUint16(&handleId[i * 2], aHandleId[i]);
|
||||
@ -854,7 +854,7 @@ BluetoothMapSmsManager::ReplyToSendMessage(
|
||||
auto res = MakeUnique<uint8_t[]>(mRemoteMaxPacketLength);
|
||||
int index = kObexRespHeaderSize;
|
||||
index += AppendHeaderName(&res[index], mRemoteMaxPacketLength - index,
|
||||
handleId, (len + 1) * 2);
|
||||
handleId.get(), (len + 1) * 2);
|
||||
SendMasObexData(Move(res), ObexResponseCode::Success, index);
|
||||
|
||||
return true;
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "mozilla/RefPtr.h"
|
||||
#include "mozilla/Services.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCExternalHandlerService.h"
|
||||
#include "nsIObserver.h"
|
||||
@ -105,8 +106,8 @@ BluetoothOppManager::Observe(nsISupports* aSubject,
|
||||
class BluetoothOppManager::SendSocketDataTask final : public nsRunnable
|
||||
{
|
||||
public:
|
||||
SendSocketDataTask(uint8_t* aStream, uint32_t aSize)
|
||||
: mStream(aStream)
|
||||
SendSocketDataTask(UniquePtr<uint8_t[]> aStream, uint32_t aSize)
|
||||
: mStream(Move(aStream))
|
||||
, mSize(aSize)
|
||||
{
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
@ -116,13 +117,13 @@ public:
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
sBluetoothOppManager->SendPutRequest(mStream, mSize);
|
||||
sBluetoothOppManager->SendPutRequest(mStream.get(), mSize);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
private:
|
||||
nsAutoArrayPtr<uint8_t> mStream;
|
||||
UniquePtr<uint8_t[]> mStream;
|
||||
uint32_t mSize;
|
||||
};
|
||||
|
||||
@ -142,10 +143,11 @@ public:
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
|
||||
uint32_t numRead;
|
||||
nsAutoArrayPtr<char> buf(new char[mAvailablePacketSize]);
|
||||
auto buf = MakeUnique<uint8_t[]>(mAvailablePacketSize);
|
||||
|
||||
// function inputstream->Read() only works on non-main thread
|
||||
nsresult rv = mInputStream->Read(buf, mAvailablePacketSize, &numRead);
|
||||
nsresult rv = mInputStream->Read((char*)buf.get(), mAvailablePacketSize,
|
||||
&numRead);
|
||||
if (NS_FAILED(rv)) {
|
||||
// Needs error handling here
|
||||
BT_WARNING("Failed to read from input stream");
|
||||
@ -156,7 +158,7 @@ public:
|
||||
sBluetoothOppManager->CheckPutFinal(numRead);
|
||||
|
||||
RefPtr<SendSocketDataTask> task =
|
||||
new SendSocketDataTask((uint8_t*)buf.forget(), numRead);
|
||||
new SendSocketDataTask(Move(buf), numRead);
|
||||
if (NS_FAILED(NS_DispatchToMainThread(task))) {
|
||||
BT_WARNING("Failed to dispatch to main thread!");
|
||||
return NS_ERROR_FAILURE;
|
||||
@ -1206,7 +1208,7 @@ BluetoothOppManager::SendPutHeaderRequest(const nsAString& aFileName,
|
||||
}
|
||||
|
||||
int len = aFileName.Length();
|
||||
nsAutoArrayPtr<uint8_t> fileName(new uint8_t[(len + 1) * 2]);
|
||||
auto fileName = MakeUnique<uint8_t[]>((len + 1) * 2);
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
BigEndian::writeUint16(&fileName[i * 2], aFileName[i]);
|
||||
@ -1217,7 +1219,7 @@ BluetoothOppManager::SendPutHeaderRequest(const nsAString& aFileName,
|
||||
auto req = MakeUnique<uint8_t[]>(mRemoteMaxPacketLength);
|
||||
int index = 3;
|
||||
index += AppendHeaderName(&req[index], mRemoteMaxPacketLength - index,
|
||||
fileName, (len + 1) * 2);
|
||||
fileName.get(), (len + 1) * 2);
|
||||
index += AppendHeaderLength(&req[index], aFileSize);
|
||||
|
||||
// This is final put packet if file size equals to 0
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "mozilla/RefPtr.h"
|
||||
#include "mozilla/Services.h"
|
||||
#include "mozilla/StaticPtr.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCExternalHandlerService.h"
|
||||
#include "nsIObserver.h"
|
||||
@ -100,8 +101,8 @@ BluetoothOppManager::Observe(nsISupports* aSubject,
|
||||
class SendSocketDataTask : public nsRunnable
|
||||
{
|
||||
public:
|
||||
SendSocketDataTask(uint8_t* aStream, uint32_t aSize)
|
||||
: mStream(aStream)
|
||||
SendSocketDataTask(UniquePtr<uint8_t[]> aStream, uint32_t aSize)
|
||||
: mStream(Move(aStream))
|
||||
, mSize(aSize)
|
||||
{
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
@ -111,13 +112,13 @@ public:
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
sBluetoothOppManager->SendPutRequest(mStream, mSize);
|
||||
sBluetoothOppManager->SendPutRequest(mStream.get(), mSize);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
private:
|
||||
nsAutoArrayPtr<uint8_t> mStream;
|
||||
UniquePtr<uint8_t[]> mStream;
|
||||
uint32_t mSize;
|
||||
};
|
||||
|
||||
@ -137,10 +138,11 @@ public:
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
|
||||
uint32_t numRead;
|
||||
nsAutoArrayPtr<char> buf(new char[mAvailablePacketSize]);
|
||||
auto buf = MakeUnique<uint8_t[]>(mAvailablePacketSize);
|
||||
|
||||
// function inputstream->Read() only works on non-main thread
|
||||
nsresult rv = mInputStream->Read(buf, mAvailablePacketSize, &numRead);
|
||||
nsresult rv = mInputStream->Read((char*)buf.get(), mAvailablePacketSize,
|
||||
&numRead);
|
||||
if (NS_FAILED(rv)) {
|
||||
// Needs error handling here
|
||||
BT_WARNING("Failed to read from input stream");
|
||||
@ -151,7 +153,7 @@ public:
|
||||
sBluetoothOppManager->CheckPutFinal(numRead);
|
||||
|
||||
RefPtr<SendSocketDataTask> task =
|
||||
new SendSocketDataTask((uint8_t*)buf.forget(), numRead);
|
||||
new SendSocketDataTask(Move(buf), numRead);
|
||||
if (NS_FAILED(NS_DispatchToMainThread(task))) {
|
||||
BT_WARNING("Failed to dispatch to main thread!");
|
||||
return NS_ERROR_FAILURE;
|
||||
|
Loading…
Reference in New Issue
Block a user