1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMEOS_DBUS_FAKE_GSM_SMS_CLIENT_H_
6 #define CHROMEOS_DBUS_FAKE_GSM_SMS_CLIENT_H_
10 #include "base/memory/weak_ptr.h"
11 #include "base/values.h"
12 #include "chromeos/dbus/gsm_sms_client.h"
13 #include "dbus/object_path.h"
17 // A fake implementation of GsmSMSClient used for tests.
18 class CHROMEOS_EXPORT FakeGsmSMSClient
: public GsmSMSClient
{
21 virtual ~FakeGsmSMSClient();
23 // GsmSMSClient overrides
24 virtual void Init(dbus::Bus
* bus
) OVERRIDE
;
25 virtual void SetSmsReceivedHandler(const std::string
& service_name
,
26 const dbus::ObjectPath
& object_path
,
27 const SmsReceivedHandler
& handler
)
29 virtual void ResetSmsReceivedHandler(const std::string
& service_name
,
30 const dbus::ObjectPath
& object_path
)
32 virtual void Delete(const std::string
& service_name
,
33 const dbus::ObjectPath
& object_path
,
35 const DeleteCallback
& callback
) OVERRIDE
;
36 virtual void Get(const std::string
& service_name
,
37 const dbus::ObjectPath
& object_path
,
39 const GetCallback
& callback
) OVERRIDE
;
40 virtual void List(const std::string
& service_name
,
41 const dbus::ObjectPath
& object_path
,
42 const ListCallback
& callback
) OVERRIDE
;
43 virtual void RequestUpdate(const std::string
& service_name
,
44 const dbus::ObjectPath
& object_path
) OVERRIDE
;
46 // Sets if the command line switch for test is present. RequestUpdate()
47 // changes its behavior depending on the switch.
48 void set_sms_test_message_switch_present(bool is_present
) {
49 sms_test_message_switch_present_
= is_present
;
53 void PushTestMessageChain();
54 void PushTestMessageDelayed();
55 bool PushTestMessage();
58 std::vector
<std::string
> test_messages_
;
59 base::ListValue message_list_
;
60 SmsReceivedHandler handler_
;
62 bool sms_test_message_switch_present_
;
64 base::WeakPtrFactory
<FakeGsmSMSClient
> weak_ptr_factory_
;
66 DISALLOW_COPY_AND_ASSIGN(FakeGsmSMSClient
);
69 } // namespace chromeos
71 #endif // CHROMEOS_DBUS_FAKE_GSM_SMS_CLIENT_H_