Track active references in ShillClientHelper (Take 2)
[chromium-blink-merge.git] / chromeos / dbus / fake_gsm_sms_client.h
blob2e26dd1b6be37e8635351a1fd39c50022475ff05
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_
8 #include <string>
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"
15 namespace chromeos {
17 // A fake implementation of GsmSMSClient used for tests.
18 class CHROMEOS_EXPORT FakeGsmSMSClient : public GsmSMSClient {
19 public:
20 FakeGsmSMSClient();
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)
28 OVERRIDE;
29 virtual void ResetSmsReceivedHandler(const std::string& service_name,
30 const dbus::ObjectPath& object_path)
31 OVERRIDE;
32 virtual void Delete(const std::string& service_name,
33 const dbus::ObjectPath& object_path,
34 uint32 index,
35 const DeleteCallback& callback) OVERRIDE;
36 virtual void Get(const std::string& service_name,
37 const dbus::ObjectPath& object_path,
38 uint32 index,
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;
52 private:
53 void PushTestMessageChain();
54 void PushTestMessageDelayed();
55 bool PushTestMessage();
57 int test_index_;
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_