content: {- |
    Janus server main program
  
    Do not edit this source,
    it is generated by janus-conf
    from server configuration in file "conf/server.xml"
    at Wed, 27 Jan 2010 17:06:29 CET
  
    Required Janus Library version: 0.4.0
  
  -}
  
  module Main where
  
  import Network.Server.Janus.Core
  import Network.Server.Janus.Server    ( serverArrow )
  import Network.Server.Janus.XmlHelper ( evalXml )
  
  import Text.XML.HXT.Core
  
  -- required handler modules
  import Network.Server.Janus.Handler.ConsoleHandler
  import Network.Server.Janus.Handler.SystemHandler
  import Network.Server.Janus.Handler.TCPHandler
  
  -- required shader modules
  import Network.Server.Janus.Shader.ConsoleShader
  import Network.Server.Janus.Shader.DaemonShader
  import Network.Server.Janus.Shader.ExprShader
  import Network.Server.Janus.Shader.HTTPShader
  import Network.Server.Janus.Shader.PredicateShader
  import Network.Server.Janus.Shader.ServletShader
  import Network.Server.Janus.Shader.ShaderLib
  import Network.Server.Janus.Shader.TestShader
  
  -- handler repository
  setHandlerRepo	:: JanusStateArrow a a
  setHandlerRepo
    = seqA . map (uncurry addHandlerCreator) $
      [ ( "tcpHandler",	Network.Server.Janus.Handler.TCPHandler.tcpHandler	 )
      , ( "daemonHandler",	Network.Server.Janus.Handler.SystemHandler.daemonHandler	 )
      , ( "ttyHandler",	Network.Server.Janus.Handler.ConsoleHandler.ttyHandler	 )
      ]
  
  -- shader repository
  setShaderRepo	:: JanusStateArrow a a
  setShaderRepo
    = seqA . map (uncurry addShaderCreator) $
      [ ( "local_echo",	Network.Server.Janus.Shader.ShaderLib.localEchoShader	 )
      , ( "request_shader",	Network.Server.Janus.Shader.HTTPShader.requestShader	 )
      , ( "file_shader",	Network.Server.Janus.Shader.HTTPShader.fileShader	 )
      , ( "cgi_shader",	Network.Server.Janus.Shader.HTTPShader.cgiShader	 )
      , ( "session_reader",	Network.Server.Janus.Shader.ShaderLib.sessionReadShader	 )
      , ( "session_writer",	Network.Server.Janus.Shader.ShaderLib.sessionWriteShader	 )
      , ( "mime_shader",	Network.Server.Janus.Shader.HTTPShader.mimeShader	 )
      , ( "http_status_shader",	Network.Server.Janus.Shader.HTTPShader.httpStatusShader	 )
      , ( "html_status_shader",	Network.Server.Janus.Shader.HTTPShader.htmlStatusShader	 )
      , ( "response_shader",	Network.Server.Janus.Shader.HTTPShader.responseShader	 )
      , ( "trace_shader",	Network.Server.Janus.Shader.ShaderLib.traceShader	 )
      , ( "trace_ta_shader",	Network.Server.Janus.Shader.ShaderLib.traceTAShader	 )
      , ( "reflect_servlet",	Network.Server.Janus.Shader.ServletShader.reflectServlet	 )
      , ( "init_mime",	Network.Server.Janus.Shader.HTTPShader.initMimeDB	 )
      , ( "auth",	Network.Server.Janus.Shader.ShaderLib.authShader	 )
      , ( "load",	Network.Server.Janus.Shader.ShaderLib.dataLoadShader	 )
      , ( "store",	Network.Server.Janus.Shader.ShaderLib.dataStoreShader	 )
      , ( "loadXml",	Network.Server.Janus.Shader.ShaderLib.loadXmlShader	 )
      , ( "storeXml",	Network.Server.Janus.Shader.ShaderLib.storeXmlShader	 )
      , ( "map",	Network.Server.Janus.Shader.ShaderLib.mappingShader	 )
      , ( "map_wrapper",	Network.Server.Janus.Shader.ShaderLib.mappingWrapper	 )
      , ( "alias",	Network.Server.Janus.Shader.ShaderLib.aliasShader	 )
      , ( "setval",	Network.Server.Janus.Shader.ShaderLib.setValShader	 )
      , ( "log_control_daemon",	Network.Server.Janus.Shader.DaemonShader.logControlDaemon	 )
      , ( "session_daemon",	Network.Server.Janus.Shader.DaemonShader.sessionDaemon	 )
      , ( "false",	Network.Server.Janus.Shader.PredicateShader.falsePredicate	 )
      , ( "valExists",	Network.Server.Janus.Shader.PredicateShader.taPredicate	 )
      , ( "match",	Network.Server.Janus.Shader.PredicateShader.matchPredicate	 )
      , ( "compare",	Network.Server.Janus.Shader.PredicateShader.comparePredicate	 )
      , ( "neg",	Network.Server.Janus.Shader.PredicateShader.negPredicate	 )
      , ( "taExpr",	Network.Server.Janus.Shader.ExprShader.taExpr	 )
      , ( "constExpr",	Network.Server.Janus.Shader.ExprShader.constExpr	 )
      , ( "ttyTest",	Network.Server.Janus.Shader.ConsoleShader.testShader	 )
      , ( "ttyCmd",	Network.Server.Janus.Shader.ConsoleShader.ttyCommandShader	 )
      , ( "ttyConfig",	Network.Server.Janus.Shader.ConsoleShader.ttyConfigShader	 )
      , ( "ttyExecute",	Network.Server.Janus.Shader.ConsoleShader.ttyExecuteShader	 )
      , ( "ttyExit",	Network.Server.Janus.Shader.ConsoleShader.ttyExitShader	 )
      , ( "ttyFork",	Network.Server.Janus.Shader.ConsoleShader.ttyForkShader	 )
      , ( "ttyHelp",	Network.Server.Janus.Shader.ConsoleShader.ttyHelpShader	 )
      , ( "ttyList",	Network.Server.Janus.Shader.ConsoleShader.ttyListShader	 )
      , ( "ttyLoad",	Network.Server.Janus.Shader.ConsoleShader.ttyLoadShader	 )
      , ( "ttyStore",	Network.Server.Janus.Shader.ConsoleShader.ttyStoreShader	 )
      , ( "ttyShow",	Network.Server.Janus.Shader.ConsoleShader.ttyShowShader	 )
      , ( "ttySwitch",	Network.Server.Janus.Shader.ConsoleShader.ttySwitchShader	 )
      , ( "ttyThread",	Network.Server.Janus.Shader.ConsoleShader.ttyThreadShader	 )
      , ( "ttyVersion",	Network.Server.Janus.Shader.ConsoleShader.ttyVersionShader	 )
      , ( "test",	Network.Server.Janus.Shader.TestShader.testShader2	 )
      , ( "counterPage",	Network.Server.Janus.Shader.TestShader.counterPageShader	 )
      , ( "statusPage",	Network.Server.Janus.Shader.TestShader.transactionStatusShader	 )
      , ( "sessionPage",	Network.Server.Janus.Shader.TestShader.sessionDemo	 )
      ]
  
  
  main :: IO ()
  main =
    do
    initContext <- emptyContext
    evalXml ( constA ()
              >>>
              setHandlerRepo
              >>>
              setShaderRepo
              >>>
              serverArrow "Wed, 27 Jan 2010 17:06:29 CET" "conf/server.xml"
            ) initContext
     >> return ()
  
  
  