chromium/components/feed/core/proto/v2/wire/feature.proto

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

syntax = "proto2";

package feedwire;

import "components/feed/core/proto/v2/wire/content_id.proto";
import "components/feed/core/proto/v2/wire/expiration_info.proto";
import "components/feed/core/proto/v2/wire/stream_structure.proto";
import "components/feed/core/proto/v2/wire/token.proto";

option optimize_for = LITE_RUNTIME;

message Feature {
  enum RenderableUnit {
    UNKNOWN_RENDERABLE_UNIT = 0;
    STREAM = 1;
    CONTENT = 3;
    GROUP = 4;
  }
  oneof parent_info {
    ContentId parent_id = 1;
    bool is_root = 4;
  }
  optional RenderableUnit renderable_unit = 2;
  optional ExpirationInfo expiration_info = 3;
  optional Stream stream = 185431437;
  optional Content content = 185431439;
  optional Group group = 190812910;
  optional Token token = 194964015;
}