-- | Complex Type: @trksegType@ module Data.Geo.GPX.TrksegType( TrksegType, trksegType ) where import Data.Geo.GPX.WptType import Data.Geo.GPX.ExtensionsType import Data.Geo.GPX.Accessor.Trkpts import Data.Geo.GPX.Accessor.Extensions import Text.XML.HXT.Arrow data TrksegType = TrksegType [WptType] (Maybe ExtensionsType) deriving (Eq, Show) trksegType :: [WptType] -- ^ The track points (trkpt). -> Maybe ExtensionsType -- ^ The extensions. -> TrksegType trksegType = TrksegType instance XmlPickler TrksegType where xpickle = xpWrap (uncurry trksegType, \(TrksegType trkpt' extensions') -> (trkpt', extensions')) (xpPair (xpList (xpElem "trkpt" xpickle)) (xpOption (xpElem "extensions" xpickle))) instance Trkpts TrksegType where trkpts (TrksegType x _) = x setTrkpts a (TrksegType _ b) = trksegType a b instance Extensions TrksegType where extensions (TrksegType _ x) = x setExtensions b (TrksegType a _) = trksegType a b