// Copyright 2023 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_COMMERCE_CORE_COMMERCE_TYPES_H_ #define COMPONENTS_COMMERCE_CORE_COMMERCE_TYPES_H_ #include <map> #include <memory> #include <optional> #include <string> #include <vector> #include "base/functional/callback.h" #include "base/time/time.h" #include "base/tuple.h" #include "components/commerce/core/proto/parcel.pb.h" #include "components/commerce/core/proto/product_category.pb.h" #include "url/gurl.h" namespace commerce { // Data containers that are provided by the above callbacks: // Discount cluster types. // A Java counterpart will be generated for this enum. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.commerce.core enum class DiscountClusterType { … }; // Discount types. // A Java counterpart will be generated for this enum. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.commerce.core enum class DiscountType { … }; // Information returned by the discount APIs. struct DiscountInfo { … }; // Information returned by the merchant info APIs. struct MerchantInfo { … }; // Position of current price with respect to the typical price range. // A Java counterpart will be generated for this enum. // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.components.commerce.core enum class PriceBucket { … }; // Information returned by the price insights APIs. struct PriceInsightsInfo { … }; // Information returned by the product info APIs. struct ProductInfo { … }; // Details about a particular URL. struct UrlInfo { … }; // Information provided by the product specifications backend. struct ProductSpecifications { … }; // Information returned by Parcels API. struct ParcelTrackingStatus { … }; // Class representing the tap strip entry point. struct EntryPointInfo { … }; // Callbacks and typedefs for various accessors in the shopping service. DiscountInfoCallback; MerchantInfoCallback; PriceInsightsInfoCallback; ProductInfoCallback; ProductSpecificationsCallback; IsShoppingPageCallback; GetParcelStatusCallback; StopParcelTrackingCallback; } // namespace commerce #endif // COMPONENTS_COMMERCE_CORE_COMMERCE_TYPES_H_