chromium/chrome/browser/feedback/system_logs/log_sources/family_info_log_source.h

// 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 CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_LOG_SOURCES_FAMILY_INFO_LOG_SOURCE_H_
#define CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_LOG_SOURCES_FAMILY_INFO_LOG_SOURCE_H_

#include <memory>

#include "base/callback_list.h"
#include "base/memory/raw_ptr.h"
#include "base/timer/timer.h"
#include "components/feedback/system_logs/system_logs_source.h"
#include "components/supervised_user/core/browser/kids_management_api_fetcher.h"
#include "components/supervised_user/core/browser/proto/kidsmanagement_messages.pb.h"
#include "components/supervised_user/core/browser/proto_fetcher_status.h"

class PrefService;

namespace base {
class ElapsedTimer;
}  // namespace base

namespace network {
class SharedURLLoaderFactory;
}  // namespace network

namespace signin {
class IdentityManager;
}  // namespace signin

namespace system_logs {

inline constexpr char kFamilyInfoLogSourceFetchStatusUma[] =;
inline constexpr char kFamilyInfoLogSourceFetchLatencyUma[] =;
inline constexpr char kFamilyInfoLogSourceImmediatelyAvailableUma[] =;

// Fetches settings related to Family Link if the user is in a Family Group.
class FamilyInfoLogSource : public system_logs::SystemLogsSource {};

}  // namespace system_logs

#endif  // CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_LOG_SOURCES_FAMILY_INFO_LOG_SOURCE_H_