blob: 04bda313f0c06afd0d2a717fcf6dd235c8fdb9f4 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_TIPS_MANAGER_MODEL_TIPS_MANAGER_IOS_H_
#define IOS_CHROME_BROWSER_TIPS_MANAGER_MODEL_TIPS_MANAGER_IOS_H_
#import "components/segmentation_platform/embedder/home_modules/tips_manager/tips_manager.h"
class PrefService;
namespace segmentation_platform {
enum class TipIdentifier;
enum class TipPresentationContext;
} // namespace segmentation_platform
// IOS implementation of `segmentation_platform::TipsManager`.
// `TipsManagerIOS` is responsible for managing and
// coordinating in-product tips within Chrome iOS.
class TipsManagerIOS : public segmentation_platform::TipsManager {
public:
// Constructor.
explicit TipsManagerIOS(PrefService* pref_service,
PrefService* local_pref_service)
: segmentation_platform::TipsManager(pref_service, local_pref_service) {}
TipsManagerIOS(const TipsManagerIOS&) = delete;
TipsManagerIOS& operator=(const TipsManagerIOS&) = delete;
~TipsManagerIOS() override = default;
// `segmentation_platform::TipsManager` override.
// This method is called when a user interacts with a `tip` in the given
// `context`.
void HandleInteraction(
segmentation_platform::TipIdentifier tip,
segmentation_platform::TipPresentationContext context) override;
};
#endif // IOS_CHROME_BROWSER_TIPS_MANAGER_MODEL_TIPS_MANAGER_IOS_H_