diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-16 21:01:35 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-16 21:01:35 +0000 |
commit | 2a09e8c5a3d15c7425955e7b8809e46fa52607b7 (patch) | |
tree | 43a84f72a27e74cbbea5021aee1263384294500c /chromeos/dbus | |
parent | fdcb6d04b847522fd83bffaf92300529cce4a3b0 (diff) | |
download | chromium_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/dbus')
-rw-r--r-- | chromeos/dbus/gsm_sms_client.cc | 35 | ||||
-rw-r--r-- | chromeos/dbus/gsm_sms_client.h | 5 | ||||
-rw-r--r-- | chromeos/dbus/mock_gsm_sms_client.h | 2 |
3 files changed, 32 insertions, 10 deletions
diff --git a/chromeos/dbus/gsm_sms_client.cc b/chromeos/dbus/gsm_sms_client.cc index 566b262..75d8466 100644 --- a/chromeos/dbus/gsm_sms_client.cc +++ b/chromeos/dbus/gsm_sms_client.cc @@ -198,6 +198,11 @@ class GsmSMSClientImpl : public GsmSMSClient { GetProxy(service_name, object_path)->List(callback); } + // GsmSMSClient override. + virtual void RequestUpdate(const std::string& service_name, + const dbus::ObjectPath& object_path) { + } + private: typedef std::map<std::pair<std::string, std::string>, SMSProxy*> ProxyMap; @@ -231,6 +236,9 @@ class GsmSMSClientStubImpl : public GsmSMSClient { test_messages_.push_back("Test a relatively long message 2"); test_messages_.push_back("Test a very, the quick brown fox jumped" " over the lazy dog, long message 3"); + test_messages_.push_back("Test Message 4"); + test_messages_.push_back("Test Message 5"); + test_messages_.push_back("Test Message 6"); } virtual ~GsmSMSClientStubImpl() {} @@ -277,21 +285,28 @@ class GsmSMSClientStubImpl : public GsmSMSClient { virtual void List(const std::string& service_name, const dbus::ObjectPath& object_path, const ListCallback& callback) OVERRIDE { - PushTestMessageChain(); callback.Run(message_list_); } + // GsmSMSClient override. + virtual void RequestUpdate(const std::string& service_name, + const dbus::ObjectPath& object_path) { + PushTestMessageChain(); + } + private: void PushTestMessageChain() { - if (PushTestMessage()) { - // Queue up the next message. - const int kSmsMessageDelaySeconds = 5; - MessageLoop::current()->PostDelayedTask( - FROM_HERE, - base::Bind(&GsmSMSClientStubImpl::PushTestMessageChain, - weak_ptr_factory_.GetWeakPtr()), - base::TimeDelta::FromSeconds(kSmsMessageDelaySeconds)); - } + if (PushTestMessage()) + PushTestMessageDelayed(); + } + + void PushTestMessageDelayed() { + const int kSmsMessageDelaySeconds = 5; + MessageLoop::current()->PostDelayedTask( + FROM_HERE, + base::Bind(&GsmSMSClientStubImpl::PushTestMessageChain, + weak_ptr_factory_.GetWeakPtr()), + base::TimeDelta::FromSeconds(kSmsMessageDelaySeconds)); } bool PushTestMessage() { diff --git a/chromeos/dbus/gsm_sms_client.h b/chromeos/dbus/gsm_sms_client.h index 1575e41..537b4e4 100644 --- a/chromeos/dbus/gsm_sms_client.h +++ b/chromeos/dbus/gsm_sms_client.h @@ -69,6 +69,11 @@ class CHROMEOS_EXPORT GsmSMSClient { const dbus::ObjectPath& object_path, const ListCallback& callback) = 0; + // Requests a check for new messages. In flimflam this does nothing. The + // stub implementation uses it to generate a sequence of test messages. + virtual void RequestUpdate(const std::string& service_name, + const dbus::ObjectPath& object_path) = 0; + protected: // Create() should be used instead. GsmSMSClient(); diff --git a/chromeos/dbus/mock_gsm_sms_client.h b/chromeos/dbus/mock_gsm_sms_client.h index 033f636..b7078d2 100644 --- a/chromeos/dbus/mock_gsm_sms_client.h +++ b/chromeos/dbus/mock_gsm_sms_client.h @@ -35,6 +35,8 @@ class MockGsmSMSClient : public GsmSMSClient { MOCK_METHOD3(List, void(const std::string& service_name, const dbus::ObjectPath& object_path, const ListCallback& callback)); + MOCK_METHOD2(RequestUpdate, void(const std::string& service_name, + const dbus::ObjectPath& object_path)); }; } // namespace chromeos |