chromium/content/browser/sms/sms_provider.h

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_BROWSER_SMS_SMS_PROVIDER_H_
#define CONTENT_BROWSER_SMS_SMS_PROVIDER_H_

#include <memory>

#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "content/browser/sms/sms_parser.h"
#include "content/common/content_export.h"

namespace content {

class RenderFrameHost;

// When WebOTP API is called on mobile, a local |SmsProvider| fetches the SMS on
// the same device. When the API is called on desktop, a remote |SmsProvider|
// will fetch the SMS on mobile. In this case we only try to use the CodeBrowser
// backend and not fall back to the UserConsent one.
enum class SmsFetchType {};

// This class wraps the platform-specific functions and allows tests to
// inject custom providers.
class CONTENT_EXPORT SmsProvider {};

}  // namespace content

#endif  // CONTENT_BROWSER_SMS_SMS_PROVIDER_H_