#!/usr/bin/env ruby
# Generated by the protocol buffer compiler. DO NOT EDIT!

require 'protocol_buffers'

begin; require 'types.pb'; rescue LoadError; end

module PolarData
  # forward declarations
  class PbLapHeader < ::ProtocolBuffers::Message; end
  class PbLapSwimmingStatistics < ::ProtocolBuffers::Message; end
  class PbLapHeartRateStatistics < ::ProtocolBuffers::Message; end
  class PbLapSpeedStatistics < ::ProtocolBuffers::Message; end
  class PbLapCadenceStatistics < ::ProtocolBuffers::Message; end
  class PbLapPowerStatistics < ::ProtocolBuffers::Message; end
  class PbLapLRBalanceStatistics < ::ProtocolBuffers::Message; end
  class PbLapPedalingIndexStatistics < ::ProtocolBuffers::Message; end
  class PbLapPedalingEfficiencyStatistics < ::ProtocolBuffers::Message; end
  class PbLapInclineStatistics < ::ProtocolBuffers::Message; end
  class PbLapStrideLengthStatistics < ::ProtocolBuffers::Message; end
  class PbLapStatistics < ::ProtocolBuffers::Message; end
  class PbLap < ::ProtocolBuffers::Message; end
  class PbLapSummary < ::ProtocolBuffers::Message; end
  class PbLaps < ::ProtocolBuffers::Message; end
  class PbAutoLaps < ::ProtocolBuffers::Message; end

  class PbLapHeader < ::ProtocolBuffers::Message
    # forward declarations

    # enums
    module PbAutolapType
      include ::ProtocolBuffers::Enum

      set_fully_qualified_name "polar_data.PbLapHeader.PbAutolapType"

      AUTOLAP_TYPE_DISTANCE = 1
      AUTOLAP_TYPE_DURATION = 2
      AUTOLAP_TYPE_LOCATION = 3
    end

    set_fully_qualified_name "polar_data.PbLapHeader"

    required ::PbDuration, :split_time, 1
    required ::PbDuration, :duration, 2
    optional :float, :distance, 3
    optional :float, :ascent, 4
    optional :float, :descent, 5
    optional ::PolarData::PbLapHeader::PbAutolapType, :autolap_type, 6
  end

  class PbLapSwimmingStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapSwimmingStatistics"

    optional :uint32, :lap_strokes, 1
    optional :uint32, :pool_count, 2
    optional :float, :avg_duration_of_pool, 3
  end

  class PbLapHeartRateStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapHeartRateStatistics"

    optional :uint32, :average, 1
    optional :uint32, :maximum, 2
    optional :uint32, :minimum, 3
  end

  class PbLapSpeedStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapSpeedStatistics"

    optional :float, :average, 1
    optional :float, :maximum, 2
  end

  class PbLapCadenceStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapCadenceStatistics"

    optional :uint32, :average, 1
    optional :uint32, :maximum, 2
  end

  class PbLapPowerStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapPowerStatistics"

    optional :int32, :average, 1
    optional :int32, :maximum, 2
  end

  class PbLapLRBalanceStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapLRBalanceStatistics"

    optional :float, :average, 1
  end

  class PbLapPedalingIndexStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapPedalingIndexStatistics"

    optional :uint32, :average, 1
  end

  class PbLapPedalingEfficiencyStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapPedalingEfficiencyStatistics"

    optional :uint32, :average, 1
  end

  class PbLapInclineStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapInclineStatistics"

    optional :float, :max, 1
  end

  class PbLapStrideLengthStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapStrideLengthStatistics"

    optional :uint32, :average, 1
  end

  class PbLapStatistics < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapStatistics"

    optional ::PolarData::PbLapHeartRateStatistics, :heart_rate, 1
    optional ::PolarData::PbLapSpeedStatistics, :speed, 2
    optional ::PolarData::PbLapCadenceStatistics, :cadence, 3
    optional ::PolarData::PbLapPowerStatistics, :power, 4
    optional ::PolarData::PbLapPedalingIndexStatistics, :OBSOLETE_pedaling_index, 5
    optional ::PolarData::PbLapInclineStatistics, :incline, 6
    optional ::PolarData::PbLapStrideLengthStatistics, :stride_length, 7
    optional ::PolarData::PbLapSwimmingStatistics, :swimming_statistics, 8
    optional ::PolarData::PbLapLRBalanceStatistics, :left_right_balance, 9
  end

  class PbLap < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLap"

    required ::PolarData::PbLapHeader, :header, 1
    optional ::PolarData::PbLapStatistics, :statistics, 2
  end

  class PbLapSummary < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLapSummary"

    optional ::PbDuration, :best_lap_duration, 1
    optional ::PbDuration, :average_lap_duration, 2
  end

  class PbLaps < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbLaps"

    repeated ::PolarData::PbLap, :laps, 1
    optional ::PolarData::PbLapSummary, :summary, 2
  end

  class PbAutoLaps < ::ProtocolBuffers::Message
    set_fully_qualified_name "polar_data.PbAutoLaps"

    repeated ::PolarData::PbLap, :autoLaps, 1
    optional ::PolarData::PbLapSummary, :summary, 2
  end

end
