1 // Copyright (c) 2015 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. 4 5 #ifndef COMPONENTS_GCM_DRIVER_INSTANCE_ID_INSTANCE_ID_PROFILE_SERVICE_H_ 6 #define COMPONENTS_GCM_DRIVER_INSTANCE_ID_INSTANCE_ID_PROFILE_SERVICE_H_ 7 8 #include <memory> 9 10 #include "base/macros.h" 11 #include "components/keyed_service/core/keyed_service.h" 12 13 namespace gcm { 14 class GCMDriver; 15 } 16 17 namespace instance_id { 18 19 class InstanceIDDriver; 20 21 // Providing Instance ID support, via InstanceIDDriver, to a profile. 22 class InstanceIDProfileService : public KeyedService { 23 public: 24 InstanceIDProfileService(gcm::GCMDriver* driver, bool is_off_the_record); 25 26 ~InstanceIDProfileService() override; 27 driver()28 InstanceIDDriver* driver() const { return driver_.get(); } 29 30 private: 31 std::unique_ptr<InstanceIDDriver> driver_; 32 33 DISALLOW_COPY_AND_ASSIGN(InstanceIDProfileService); 34 }; 35 36 } // namespace instance_id 37 38 #endif // COMPONENTS_GCM_DRIVER_INSTANCE_ID_INSTANCE_ID_PROFILE_SERVICE_H_ 39