diff options
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 |