text: ////////////////////////////////////////////////////////////////////////////////
  // The following FIT Protocol software provided may be used with FIT protocol
  // devices only and remains the copyrighted property of Garmin Canada Inc.
  // The software is being provided on an "as-is" basis and as an accommodation,
  // and therefore all warranties, representations, or guarantees of any kind
  // (whether express, implied or statutory) including, without limitation,
  // warranties of merchantability, non-infringement, or fitness for a particular
  // purpose, are specifically disclaimed.
  //
  // Copyright 2021 Garmin International, Inc.
  ////////////////////////////////////////////////////////////////////////////////
  // ****WARNING****  This file is auto-generated!  Do NOT edit this file.
  // Profile Version = 21.67Release
  // Tag = production/akw/21.67.00-0-gd790f76b
  ////////////////////////////////////////////////////////////////////////////////
  
  
  #import <Foundation/Foundation.h>
  
  #import "FITDate.h"
  #import "FITMessage.h"
  #import "FITTypes.h"
  
  NS_ASSUME_NONNULL_BEGIN
  
  @interface FITLengthMesg : FITMessage
  - (id)init;
  // MessageIndex 
  - (BOOL)isMessageIndexValid;
  - (FITMessageIndex)getMessageIndex;
  - (void)setMessageIndex:(FITMessageIndex)messageIndex;
  // Timestamp 
  - (BOOL)isTimestampValid;
  - (FITDate *)getTimestamp;
  - (void)setTimestamp:(FITDate *)timestamp;
  // Event 
  - (BOOL)isEventValid;
  - (FITEvent)getEvent;
  - (void)setEvent:(FITEvent)event;
  // EventType 
  - (BOOL)isEventTypeValid;
  - (FITEventType)getEventType;
  - (void)setEventType:(FITEventType)eventType;
  // StartTime 
  - (BOOL)isStartTimeValid;
  - (FITDate *)getStartTime;
  - (void)setStartTime:(FITDate *)startTime;
  // TotalElapsedTime 
  - (BOOL)isTotalElapsedTimeValid;
  - (FITFloat32)getTotalElapsedTime;
  - (void)setTotalElapsedTime:(FITFloat32)totalElapsedTime;
  // TotalTimerTime 
  - (BOOL)isTotalTimerTimeValid;
  - (FITFloat32)getTotalTimerTime;
  - (void)setTotalTimerTime:(FITFloat32)totalTimerTime;
  // TotalStrokes 
  - (BOOL)isTotalStrokesValid;
  - (FITUInt16)getTotalStrokes;
  - (void)setTotalStrokes:(FITUInt16)totalStrokes;
  // AvgSpeed 
  - (BOOL)isAvgSpeedValid;
  - (FITFloat32)getAvgSpeed;
  - (void)setAvgSpeed:(FITFloat32)avgSpeed;
  // SwimStroke 
  - (BOOL)isSwimStrokeValid;
  - (FITSwimStroke)getSwimStroke;
  - (void)setSwimStroke:(FITSwimStroke)swimStroke;
  // AvgSwimmingCadence 
  - (BOOL)isAvgSwimmingCadenceValid;
  - (FITUInt8)getAvgSwimmingCadence;
  - (void)setAvgSwimmingCadence:(FITUInt8)avgSwimmingCadence;
  // EventGroup 
  - (BOOL)isEventGroupValid;
  - (FITUInt8)getEventGroup;
  - (void)setEventGroup:(FITUInt8)eventGroup;
  // TotalCalories 
  - (BOOL)isTotalCaloriesValid;
  - (FITUInt16)getTotalCalories;
  - (void)setTotalCalories:(FITUInt16)totalCalories;
  // LengthType 
  - (BOOL)isLengthTypeValid;
  - (FITLengthType)getLengthType;
  - (void)setLengthType:(FITLengthType)lengthType;
  // PlayerScore 
  - (BOOL)isPlayerScoreValid;
  - (FITUInt16)getPlayerScore;
  - (void)setPlayerScore:(FITUInt16)playerScore;
  // OpponentScore 
  - (BOOL)isOpponentScoreValid;
  - (FITUInt16)getOpponentScore;
  - (void)setOpponentScore:(FITUInt16)opponentScore;
  // StrokeCount 
  @property(readonly,nonatomic) uint8_t numStrokeCountValues;
  - (BOOL)isStrokeCountValidforIndex : (uint8_t)index;
  - (FITUInt16)getStrokeCountforIndex : (uint8_t)index;
  - (void)setStrokeCount:(FITUInt16)strokeCount forIndex:(uint8_t)index;
  // ZoneCount 
  @property(readonly,nonatomic) uint8_t numZoneCountValues;
  - (BOOL)isZoneCountValidforIndex : (uint8_t)index;
  - (FITUInt16)getZoneCountforIndex : (uint8_t)index;
  - (void)setZoneCount:(FITUInt16)zoneCount forIndex:(uint8_t)index;
  
  @end
  
  NS_ASSUME_NONNULL_END
  