WURFL-0.1: src/WURFLTypes.hs
module WURFLTypes(
Tropical(..)
, MD(..)
, emptyMD
, Tree(..)
)
where
class Tropical a where
tempty :: a
tappend :: a -> a -> a
instance Tropical (Maybe a) where
tempty = Nothing
tappend Nothing a = a
tappend ma@(Just _) Nothing = ma
tappend (Just _) mb@(Just _) = mb
emptyMD :: MD
emptyMD =
MD (True) -- Post support
(11) -- columns
(2) -- row 2
(35) -- height
(90) -- width
(2) -- colors
(False)
(False)
(False)
(False)
(0) -- j2me heap
(0) -- Jéme width and height
(0)
("wml_1_1") -- prefered markup
("Unknown") -- brand
(True) -- is wireless
(False) -- streaming
data MD = MD {
postMethodSupport :: !Bool -- bugs, post_method_support
, columns :: !Int -- display, columns
, rows :: !Int -- display, rows
, maxImageHeight :: !Int -- display, max_image_height
, maxImageWidth :: !Int -- display, max_image_width
, colors :: !Int -- image_format, colors
, gif :: !Bool -- display, gif
, jpg :: !Bool -- display, jpg
, png :: !Bool -- display, png
, j2me :: !Bool -- j2me, j2me_midp_2_0
, j2meHeap :: !Int -- j2me, j2me_heap_size
, j2meHeight :: !Int -- j2me, j2me_screen_height
, j2meWidth :: !Int -- j2me, j2me_screen_width
, markup :: !String -- markup, preferred_markup
, brand :: !String -- product_info, brand_name
, isWireless :: !Bool -- product_info, is_wireless_device
, streaming3gpp :: !Bool -- streaming, streaming_3gpp
} deriving(Show)
data Tree a = Node String (Maybe a) [Tree a] deriving(Eq,Show)