// 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 COMPONENTS_DATA_SHARING_PUBLIC_GROUP_DATA_H_ #define COMPONENTS_DATA_SHARING_PUBLIC_GROUP_DATA_H_ #include <string> #include "base/time/time.h" #include "base/types/strong_alias.h" #include "components/sync/protocol/entity_specifics.pb.h" #include "url/gurl.h" namespace data_sharing { GroupId; // GENERATED_JAVA_ENUM_PACKAGE: ( // org.chromium.components.data_sharing.member_role) enum class MemberRole { … }; struct GroupMember { … }; struct GroupToken { … }; struct GroupData { … }; // Represents an entity that is shared between users. This // is similar to sync_pb::SyncEntity, but it includes group // ID and is only for shared data types struct SharedEntity { … }; // A preview of shared entities. struct SharedDataPreview { … }; // Only takes `group_id` into account, used to allow storing GroupData in // std::set. bool operator<(const GroupData& lhs, const GroupData& rhs); } // namespace data_sharing #endif // COMPONENTS_DATA_SHARING_PUBLIC_GROUP_DATA_H_