ignore generated files
[hsv4l2:phischus-v4l2.git] / Foreign / Helper.hs
1 module Foreign.Helper
2   ( module Foreign.Helper.Enum
3   , module Foreign.Helper.Bits
4   , enum
5   ) where
6
7 import Foreign.Helper.Enum
8 import Foreign.Helper.Bits
9 import Data.Char (isDigit, toLower, toUpper)
10
11 --enum :: String -> String -> [String] -> Q [Dec]
12 enum htyp ctyp cprefix hprefix suffixes = fEnum htyp ctyp [(toH suffix, toC suffix) | suffix <- suffixes]
13   where
14     toC cs = cprefix ++ cs
15     toH cs = hprefix ++ toH' True cs
16     toH' _ [] = []
17     toH' _ ('_':cs) = toH' True cs
18     toH' u (c:cs) = (if u then toUpper else toLower) c : toH' False cs