summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/chromeos_switches.cc3
-rw-r--r--chromeos/chromeos_switches.h1
-rw-r--r--chromeos/dbus/gsm_sms_client.cc5
-rw-r--r--chromeos/dbus/sms_client.cc6
4 files changed, 15 insertions, 0 deletions
diff --git a/chromeos/chromeos_switches.cc b/chromeos/chromeos_switches.cc
index 2c1e3ad..2ade84b 100644
--- a/chromeos/chromeos_switches.cc
+++ b/chromeos/chromeos_switches.cc
@@ -10,5 +10,8 @@ namespace switches {
// Forces the stub implementation of dbus clients.
const char kDbusStub[] = "dbus-stub";
+// Sends test messages on first call to RequestUpdate (stub only).
+const char kSmsTestMessages[] = "sms-test-messages";
+
} // namespace switches
} // namespace chromeos
diff --git a/chromeos/chromeos_switches.h b/chromeos/chromeos_switches.h
index 5b33dea..5eeb21b 100644
--- a/chromeos/chromeos_switches.h
+++ b/chromeos/chromeos_switches.h
@@ -22,6 +22,7 @@ namespace switches {
// Please keep alphabetized.
CHROMEOS_EXPORT extern const char kDbusStub[];
+CHROMEOS_EXPORT extern const char kSmsTestMessages[];
} // namespace switches
} // namespace chromeos
diff --git a/chromeos/dbus/gsm_sms_client.cc b/chromeos/dbus/gsm_sms_client.cc
index 2836605..149d743 100644
--- a/chromeos/dbus/gsm_sms_client.cc
+++ b/chromeos/dbus/gsm_sms_client.cc
@@ -8,12 +8,14 @@
#include <vector>
#include "base/bind.h"
+#include "base/command_line.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
#include "base/stringprintf.h"
#include "base/stl_util.h"
#include "base/values.h"
+#include "chromeos/chromeos_switches.h"
#include "dbus/bus.h"
#include "dbus/message.h"
#include "dbus/object_proxy.h"
@@ -295,6 +297,9 @@ class GsmSMSClientStubImpl : public GsmSMSClient {
// GsmSMSClient override.
virtual void RequestUpdate(const std::string& service_name,
const dbus::ObjectPath& object_path) {
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kSmsTestMessages))
+ return;
if (test_index_ >= 0)
return;
test_index_ = 0;
diff --git a/chromeos/dbus/sms_client.cc b/chromeos/dbus/sms_client.cc
index 72df74d..ee9fe10 100644
--- a/chromeos/dbus/sms_client.cc
+++ b/chromeos/dbus/sms_client.cc
@@ -7,12 +7,14 @@
#include <utility>
#include "base/bind.h"
+#include "base/command_line.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
#include "base/stringprintf.h"
#include "base/stl_util.h"
#include "base/values.h"
+#include "chromeos/chromeos_switches.h"
#include "dbus/bus.h"
#include "dbus/message.h"
#include "dbus/object_proxy.h"
@@ -82,6 +84,10 @@ class SMSClientStubImpl : public SMSClient {
virtual void GetAll(const std::string& service_name,
const dbus::ObjectPath& object_path,
const GetAllCallback& callback) OVERRIDE {
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kSmsTestMessages))
+ return;
+
// Ownership passed to callback
base::DictionaryValue *sms = new base::DictionaryValue();
sms->SetString("Number", "000-000-0000");