diff -r 000000000000 -r 6474c204b198 dom/mobilemessage/src/android/MobileMessageDatabaseService.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/mobilemessage/src/android/MobileMessageDatabaseService.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 "SmsFilter.h" +#include "MobileMessageDatabaseService.h" +#include "AndroidBridge.h" + +namespace mozilla { +namespace dom { +namespace mobilemessage { + +NS_IMPL_ISUPPORTS(MobileMessageDatabaseService, nsIMobileMessageDatabaseService) + +NS_IMETHODIMP +MobileMessageDatabaseService::GetMessageMoz(int32_t aMessageId, + nsIMobileMessageCallback* aRequest) +{ + if (!AndroidBridge::Bridge()) { + return NS_OK; + } + + AndroidBridge::Bridge()->GetMessage(aMessageId, aRequest); + return NS_OK; +} + +NS_IMETHODIMP +MobileMessageDatabaseService::DeleteMessage(int32_t *aMessageIds, + uint32_t aLength, + nsIMobileMessageCallback* aRequest) +{ + if (!AndroidBridge::Bridge()) { + return NS_OK; + } + + if (!aMessageIds) { + return NS_OK; + } + + if (aLength != 1) { + return NS_ERROR_FAILURE; + } + + AndroidBridge::Bridge()->DeleteMessage(aMessageIds[0], aRequest); + return NS_OK; +} + +NS_IMETHODIMP +MobileMessageDatabaseService::CreateMessageCursor(nsIDOMMozSmsFilter* aFilter, + bool aReverse, + nsIMobileMessageCursorCallback* aCallback, + nsICursorContinueCallback** aResult) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +NS_IMETHODIMP +MobileMessageDatabaseService::MarkMessageRead(int32_t aMessageId, + bool aValue, + bool aSendReadReport, + nsIMobileMessageCallback* aRequest) +{ + // TODO: This would need to be implemented as part of Bug 748391 + return NS_OK; +} + +NS_IMETHODIMP +MobileMessageDatabaseService::CreateThreadCursor(nsIMobileMessageCursorCallback* aCallback, + nsICursorContinueCallback** aResult) +{ + NS_NOTYETIMPLEMENTED("Implement me!"); + return NS_ERROR_NOT_IMPLEMENTED; +} + +} // namespace mobilemessage +} // namespace dom +} // namespace mozilla