]> gitweb.michael.orlitzky.com - dead/htsn-import.git/commitdiff
Migrate TSN.XML.Heartbeat to fixed-vector-hetero.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 2 Jan 2015 22:32:15 +0000 (17:32 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Fri, 2 Jan 2015 22:32:15 +0000 (17:32 -0500)
src/TSN/XML/Heartbeat.hs

index b44f9309379cf9e8fb8d6e51d9d8367c0084c36a..39a2bc469d8739f2ef7bb96ff0be80286dad9140 100644 (file)
@@ -13,6 +13,7 @@ where
 -- System imports.
 import Data.Time.Clock ( UTCTime )
 import Data.Tuple.Curry ( uncurryN )
+import qualified Data.Vector.HFixed as H ( HVector, convert )
 import qualified GHC.Generics as GHC ( Generic )
 import Test.Tasty ( TestTree, testGroup )
 import Test.Tasty.HUnit ( (@?=), testCase )
@@ -27,7 +28,6 @@ import Text.XML.HXT.Core (
   xpWrap )
 
 -- Local imports.
-import Generics ( Generic(..), to_tuple )
 import TSN.DbImport ( ImportResult(..) )
 import TSN.Picklers ( xp_time_stamp )
 import Xml ( pickle_unpickle, unpickleable )
@@ -48,9 +48,9 @@ data Message =
     UTCTime -- time_stamp
   deriving (Eq, GHC.Generic, Show)
 
--- | For 'Generics.to_tuple'.
+-- | For 'H.convert'.
 --
-instance Generic Message
+instance H.HVector Message
 
 
 -- | A (un)pickler that turns a Heartbeat XML file into a 'Message'
@@ -59,7 +59,7 @@ instance Generic Message
 pickle_message :: PU Message
 pickle_message =
   xpElem "message" $
-    xpWrap (from_tuple, to_tuple) $
+    xpWrap (from_tuple, H.convert) $
     xpTriple (xpElem "XML_File_ID" xpInt)
              (xpElem "heading" xpText)
              (xpElem "time_stamp" xp_time_stamp)