src/Pure/General/secure.ML
changeset 20977 dbf1eca9b34e
parent 20925 2d19e511fe2c
child 20992 05c3703cc6c5
equal deleted inserted replaced
20976:e324808e9f1f 20977:dbf1eca9b34e
     5 Secure critical operations.
     5 Secure critical operations.
     6 *)
     6 *)
     7 
     7 
     8 signature SECURE =
     8 signature SECURE =
     9 sig
     9 sig
    10   val set_secure: unit -> bool
    10   val set_secure: unit -> unit
    11   val is_secure: unit -> bool
    11   val is_secure: unit -> bool
    12   val deny_secure: string -> unit
    12   val deny_secure: string -> unit
    13   val use: string -> unit
    13   val use: string -> unit
    14   val use_text: (string -> unit) * (string -> 'a) -> bool -> string -> unit
    14   val use_text: (string -> unit) * (string -> 'a) -> bool -> string -> unit
    15   val commit: unit -> unit
    15   val commit: unit -> unit
    20 
    20 
    21 (* secure flag *)
    21 (* secure flag *)
    22 
    22 
    23 val secure = ref false;
    23 val secure = ref false;
    24 
    24 
    25 fun set_secure () = set secure;
    25 fun set_secure () = secure := true;
    26 fun is_secure () = ! secure;
    26 fun is_secure () = ! secure;
    27 
    27 
    28 fun deny_secure msg = deny (is_secure ()) msg;
    28 fun deny_secure msg = deny (is_secure ()) msg;
    29 
    29 
    30 
    30