module Web.Harp.Types ( Hostname , Port , Tag , ChoiceGroup , Filter(..) , Resolver(..) , Choice(..) , Config(..) ) where type Hostname = String type Port = Int type Tag = String type ChoiceGroup = [Choice] data Filter = FilterHostnames [Hostname] | FilterPorts [Port] deriving (Show, Eq) data Resolver = ResolverStaticPath FilePath | ResolverServer Hostname Port deriving (Show, Eq) data Choice = Choice { choiceProb :: Int , choiceConfig :: Config } deriving (Show, Eq) data Config = Config { configFilters :: [Filter] , configTags :: [Tag] , configResolvers :: [Resolver] , configChoiceGroups :: [ChoiceGroup] , configSubconfigs :: [Config] } deriving (Show, Eq)