syntax = "proto3";

package rv.analytics;

option cc_enable_arenas = true;
option csharp_namespace = "Pro.SerializationInterop.RVProtoData.Analytics";
option swift_prefix = "Analytics_";

message Timeline {
  message TriggerCue {
    enum TriggerType {
      TRIGGER_TYPE_SLIDE = 0;
      TRIGGER_TYPE_MEDIA = 1;
      TRIGGER_TYPE_AUDIO = 2;
      TRIGGER_TYPE_ACTION = 3;
    }

    enum TimingSource {
      TIMING_SOURCE_INTERNAL = 0;
      TIMING_SOURCE_SMPTE = 1;
    }

    .rv.analytics.Timeline.TriggerCue.TriggerType trigger_type = 1;
    .rv.analytics.Timeline.TriggerCue.TimingSource timing_source = 2;
  }

  message Action {
    enum ActionType {
      ACTION_TYPE_PLAY = 0;
      ACTION_TYPE_STOP = 1;
      ACTION_TYPE_RESET = 2;
    }

    .rv.analytics.Timeline.Action.ActionType action_type = 1;
  }

  message RecordCue {
  }

  oneof Event {
    .rv.analytics.Timeline.TriggerCue trigger_cue = 1;
    .rv.analytics.Timeline.Action action = 2;
    .rv.analytics.Timeline.RecordCue record_cue = 3;
  }
}

