chromium/components/feed/core/v2/feed_network.h

// Copyright 2020 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_FEED_CORE_V2_FEED_NETWORK_H_
#define COMPONENTS_FEED_CORE_V2_FEED_NETWORK_H_

#include <memory>
#include <string_view>

#include "base/functional/callback.h"
#include "components/feed/core/proto/v2/wire/consistency_token.pb.h"
#include "components/feed/core/proto/v2/wire/feed_query.pb.h"
#include "components/feed/core/proto/v2/wire/request.pb.h"
#include "components/feed/core/proto/v2/wire/response.pb.h"
#include "components/feed/core/proto/v2/wire/upload_actions_request.pb.h"
#include "components/feed/core/proto/v2/wire/upload_actions_response.pb.h"
#include "components/feed/core/proto/v2/wire/web_feeds.pb.h"
#include "components/feed/core/v2/enums.h"
#include "components/feed/core/v2/public/types.h"
#include "components/feed/core/v2/types.h"
#include "net/http/http_request_headers.h"

namespace feedwire {
class Request;
class Response;
}  // namespace feedwire

namespace feed {
struct AccountInfo;

// DiscoverApi types. Defines information about each discover API. For use with
// `FeedNetwork::SendApiRequest()`.
// Some APIs do not send request metadata because it is already included in the
// `feedwire::Request` proto and is therefore redundant.

struct QueryInteractiveFeedDiscoverApi {};

struct QueryBackgroundFeedDiscoverApi {};

struct QueryNextPageDiscoverApi {};

struct UploadActionsDiscoverApi {};

struct ListWebFeedsDiscoverApi {};

struct ListRecommendedWebFeedDiscoverApi {};

struct FollowWebFeedDiscoverApi {};

struct UnfollowWebFeedDiscoverApi {};

struct WebFeedListContentsDiscoverApi {};

struct SingleWebFeedListContentsDiscoverApi {};

struct QueryWebFeedDiscoverApi {};

class FeedNetwork {};

}  // namespace feed

#endif  // COMPONENTS_FEED_CORE_V2_FEED_NETWORK_H_