Catch-all aliases working again
[hcoop/domtool2.git] / src / msg.sml
index 61fa4bc..a8450dd 100644 (file)
@@ -23,12 +23,14 @@ structure Msg :> MSG = struct
 open OpenSSL MsgTypes Slave
 
 val a2i = fn Add => 0
-          | Delete => 1
+          | Delete true => 1
           | Modify => 2
+          | Delete false => 3
 
 val i2a = fn 0 => Add
-          | 1 => Delete
+          | 1 => Delete true
           | 2 => Modify
+          | 3 => Delete false
           | _ => raise OpenSSL.OpenSSL "Bad action number to deserialize"
 
 fun sendAcl (bio, {user, class, value}) =
@@ -228,7 +230,11 @@ fun send (bio, m) =
       | MsgGrantDb {dbtype, dbname} => (OpenSSL.writeInt (bio, 37);
                                        OpenSSL.writeString (bio, dbtype);
                                        OpenSSL.writeString (bio, dbname))
-      | MsqMysqlFixperms => OpenSSL.writeInt (bio, 38)
+      | MsgMysqlFixperms => OpenSSL.writeInt (bio, 38)
+      | MsgDescribe dom => (OpenSSL.writeInt (bio, 39);
+                           OpenSSL.writeString (bio, dom))
+      | MsgDescription s => (OpenSSL.writeInt (bio, 40);
+                            OpenSSL.writeString (bio, s))
 
 fun checkIt v =
     case v of
@@ -339,6 +345,8 @@ fun recv bio =
                                SOME (MsgGrantDb {dbtype = dbtype, dbname = dbname})
                              | _ => NONE)
                   | 38 => SOME MsgMysqlFixperms
+                  | 39 => Option.map MsgDescribe (OpenSSL.readString bio)
+                  | 40 => Option.map MsgDescription (OpenSSL.readString bio)
                   | _ => NONE)
         
 end