fficxx-0.4: sample/mysample-generator/MySampleGen.hs
{-# LANGUAGE ScopedTypeVariables #-}
import FFICXX.Generate.Builder
import FFICXX.Generate.Type.Class
import FFICXX.Generate.Type.Module
import FFICXX.Generate.Type.PackageInterface
incs = [ AddCInc "test.h" "//test ok?" ]
srcs = [ AddCSrc "test.cpp" "//test ok??" ]
mycabal = Cabal { cabal_pkgname = "MySample"
, cabal_cheaderprefix = "MySample"
, cabal_moduleprefix = "MySample"
, cabal_additional_c_incs = incs
, cabal_additional_c_srcs = srcs
}
mycabalattr =
CabalAttr
{ cabalattr_license = Just "BSD3"
, cabalattr_licensefile = Just "LICENSE"
, cabalattr_extraincludedirs = []
, cabalattr_extralibdirs = []
, cabalattr_extrafiles = []
}
myclass = Class mycabal
a :: Class
a = myclass "A" [] mempty Nothing
[ Constructor [] Nothing
, Virtual void_ "method1" [ ] Nothing
]
b :: Class
b = myclass "B" [a] mempty Nothing
[ Constructor [] Nothing
, Virtual (cppclass_ a) "method2" [ cppclass a "x" ] Nothing
]
myclasses = [ a, b]
toplevelfunctions = [ ]
main :: IO ()
main = do
simpleBuilder "MySample" [] (mycabal,mycabalattr,myclasses,toplevelfunctions,[]) [ ] []