chromium/components/supervised_user/core/browser/family_link_user_log_record.cc

// 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.

#include "components/supervised_user/core/browser/family_link_user_log_record.h"

#include <optional>

#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/prefs/pref_service.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
#include "components/supervised_user/core/browser/supervised_user_url_filter.h"
#include "components/supervised_user/core/common/features.h"
#include "components/supervised_user/core/common/pref_names.h"
#include "extensions/buildflags/buildflags.h"

namespace supervised_user {
namespace {

bool AreParentalSupervisionCapabilitiesKnown(
    const AccountCapabilities& capabilities) {}

std::optional<FamilyLinkUserLogRecord::Segment> GetSupervisionStatus(
    signin::IdentityManager* identity_manager) {}

// Returns true if there is no available supervision status or the account is
// not subject to parental controls.
bool IsUnsupervisedStatus(
    std::optional<FamilyLinkUserLogRecord::Segment> supervision_status) {}

std::optional<WebFilterType> GetWebFilterType(
    std::optional<FamilyLinkUserLogRecord::Segment> supervision_status,
    SupervisedUserURLFilter* supervised_user_filter) {}

std::optional<ToggleState> GetPermissionsToggleState(
    std::optional<FamilyLinkUserLogRecord::Segment> supervision_status,
    const PrefService& pref_service,
    const HostContentSettingsMap& content_settings_map) {}

#if BUILDFLAG(ENABLE_EXTENSIONS)
bool SupervisedUserCanSkipExtensionParentApprovals(
    const PrefService& pref_service) {}
#endif  // BUILDFLAG(ENABLE_EXTENSIONS)

std::optional<ToggleState> GetExtensionToggleState(
    std::optional<FamilyLinkUserLogRecord::Segment> supervision_status,
    const PrefService& pref_service) {}

}  // namespace

FamilyLinkUserLogRecord FamilyLinkUserLogRecord::Create(
    signin::IdentityManager* identity_manager,
    const PrefService& pref_service,
    const HostContentSettingsMap& content_settings_map,
    SupervisedUserURLFilter* supervised_user_filter) {}

FamilyLinkUserLogRecord::FamilyLinkUserLogRecord(
    std::optional<FamilyLinkUserLogRecord::Segment> supervision_status,
    std::optional<WebFilterType> web_filter_type,
    std::optional<ToggleState> permissions_toggle_state,
    std::optional<ToggleState> extensions_toggle_state)
    :{}

std::optional<FamilyLinkUserLogRecord::Segment>
FamilyLinkUserLogRecord::GetSupervisionStatusForPrimaryAccount() const {}

std::optional<WebFilterType>
FamilyLinkUserLogRecord::GetWebFilterTypeForPrimaryAccount() const {}

std::optional<ToggleState>
FamilyLinkUserLogRecord::GetPermissionsToggleStateForPrimaryAccount() const {}

std::optional<ToggleState>
FamilyLinkUserLogRecord::GetExtensionsToggleStateForPrimaryAccount() const {}

}  // namespace supervised_user