Remove Config.{dispatcher,defaultNode}
[hcoop/domtool2.git] / src / domain.sml
index 63b039c..2b93535 100644 (file)
@@ -27,6 +27,7 @@ structure SS = DataStructures.StringSet
 
 val ssl_context = ref (NONE : OpenSSL.context option)
 fun set_context ctx = ssl_context := SOME ctx
+fun get_context () = valOf (!ssl_context)
 
 val nodes = map #1 Config.nodeIps
 val nodeMap = foldl (fn ((node, ip), mp) => SM.insert (mp, node, ip))
@@ -235,6 +236,10 @@ val _ = Env.type_one "node"
        Env.string
        validNode
 
+val _ = Env.type_one "mime_type"
+       Env.string
+       (CharVector.exists (fn ch => ch = #"/"))
+
 val _ = Env.registerFunction ("your_ip_to_ip",
                              fn [e] => SOME e
                               | _ => NONE)
@@ -274,10 +279,11 @@ val soaD = multiApp ((EVar "soa", dl),
                     [nsD, serialD, refD, retD, expD, minD])
 
 val masterD = (EApp ((EVar "internalMaster", dl),
-                    (EString Config.masterNode, dl)),
+                    (EString Config.Bind.masterNode, dl)),
               dl)
 
-val slavesD = (EList (map (fn s => (EString s, dl)) Config.slaveNodes), dl)
+val slavesD = (EList (map (fn s => (EString s, dl))
+                         (List.filter (fn x => List.exists (fn y => y = x) (Config.dnsNodes_all @ Config.dnsNodes_admin)) Config.Bind.slaveNodes)), dl)
 
 val _ = Defaults.registerDefault ("Aliases",
                                  (TList (TBase "your_domain", dl), dl),
@@ -706,7 +712,7 @@ fun handleSite (site, files) =
        
     in
        print ("New configuration for node " ^ site ^ "\n");
-       if site = Config.defaultNode then
+       if site = Config.dispatcherName then
            Slave.handleChanges files
        else let
                val bio = OpenSSL.connect true (valOf (!ssl_context),