summaryrefslogtreecommitdiffstats
path: root/chromeos/network
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-16 21:01:35 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-16 21:01:35 +0000
commit2a09e8c5a3d15c7425955e7b8809e46fa52607b7 (patch)
tree43a84f72a27e74cbbea5021aee1263384294500c /chromeos/network
parentfdcb6d04b847522fd83bffaf92300529cce4a3b0 (diff)
downloadchromium_src-2a09e8c5a3d15c7425955e7b8809e46fa52607b7.zip
chromium_src-2a09e8c5a3d15c7425955e7b8809e46fa52607b7.tar.gz
chromium_src-2a09e8c5a3d15c7425955e7b8809e46fa52607b7.tar.bz2
Add RequestUpdate to NetworkSmsHandler
BUG=124269 TEST=None yet, except that tests pass; will be used for further testing. Review URL: https://chromiumcodereview.appspot.com/10391170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137507 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network')
-rw-r--r--chromeos/network/network_sms_handler.cc14
-rw-r--r--chromeos/network/network_sms_handler.h3
-rw-r--r--chromeos/network/network_sms_handler_unittest.cc2
3 files changed, 19 insertions, 0 deletions
diff --git a/chromeos/network/network_sms_handler.cc b/chromeos/network/network_sms_handler.cc
index e28e5d3..cfe4219 100644
--- a/chromeos/network/network_sms_handler.cc
+++ b/chromeos/network/network_sms_handler.cc
@@ -35,6 +35,8 @@ class NetworkSmsHandler::NetworkSmsDeviceHandler {
std::string dbus_connection,
dbus::ObjectPath object_path);
+ void RequestUpdate();
+
private:
void ListCallback(const base::ListValue& message_list);
void SmsReceivedCallback(uint32 index, bool complete);
@@ -74,6 +76,11 @@ NetworkSmsHandler::NetworkSmsDeviceHandler::NetworkSmsDeviceHandler(
weak_ptr_factory_.GetWeakPtr()));
}
+void NetworkSmsHandler::NetworkSmsDeviceHandler::RequestUpdate() {
+ DBusThreadManager::Get()->GetGsmSMSClient()->RequestUpdate(
+ dbus_connection_, object_path_);
+}
+
void NetworkSmsHandler::NetworkSmsDeviceHandler::ListCallback(
const base::ListValue& message_list) {
// This receives all messages, so clear any pending deletes.
@@ -151,6 +158,13 @@ void NetworkSmsHandler::Init() {
weak_ptr_factory_.GetWeakPtr()));
}
+void NetworkSmsHandler::RequestUpdate() {
+ for (ScopedVector<NetworkSmsDeviceHandler>::iterator iter =
+ device_handlers_.begin(); iter != device_handlers_.end(); ++iter) {
+ (*iter)->RequestUpdate();
+ }
+}
+
void NetworkSmsHandler::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}
diff --git a/chromeos/network/network_sms_handler.h b/chromeos/network/network_sms_handler.h
index 9430e30..518b7b1 100644
--- a/chromeos/network/network_sms_handler.h
+++ b/chromeos/network/network_sms_handler.h
@@ -38,6 +38,9 @@ class CHROMEOS_EXPORT NetworkSmsHandler {
// notified with initial messages should be added before calling this.
void Init();
+ // Requests an immediate check for new messages.
+ void RequestUpdate();
+
void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer);
diff --git a/chromeos/network/network_sms_handler_unittest.cc b/chromeos/network/network_sms_handler_unittest.cc
index 4205954..ca99c9c 100644
--- a/chromeos/network/network_sms_handler_unittest.cc
+++ b/chromeos/network/network_sms_handler_unittest.cc
@@ -58,6 +58,8 @@ TEST_F(NetworkSmsHandlerTest, SmsHandlerDbusStub) {
sms_handler->AddObserver(test_observer.get());
sms_handler->Init();
message_loop_.RunAllPending();
+ sms_handler->RequestUpdate();
+ message_loop_.RunAllPending();
EXPECT_GE(test_observer->message_count(), 1);
}