summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/dbus')
-rw-r--r--chromeos/dbus/gsm_sms_client.cc35
-rw-r--r--chromeos/dbus/gsm_sms_client.h5
-rw-r--r--chromeos/dbus/mock_gsm_sms_client.h2
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