diff options
author | hattenberger | 2013-03-27 13:17:19 +0000 |
---|---|---|
committer | hattenberger | 2013-03-27 13:17:19 +0000 |
commit | a17272283c803e13258e5dc6b19533c672ceee18 (patch) | |
tree | 0fa7737e21fe1147c860a84b18676cd99a80fdb1 /trunk/ivyLoop.ml | |
parent | 003d66dc1fabc063372e4f03265935d0ccaefd78 (diff) | |
download | ivy-ocaml-a17272283c803e13258e5dc6b19533c672ceee18.zip ivy-ocaml-a17272283c803e13258e5dc6b19533c672ceee18.tar.gz ivy-ocaml-a17272283c803e13258e5dc6b19533c672ceee18.tar.bz2 ivy-ocaml-a17272283c803e13258e5dc6b19533c672ceee18.tar.xz |
some fixes in ivy-ocaml tag 1.2
Diffstat (limited to 'trunk/ivyLoop.ml')
-rw-r--r-- | trunk/ivyLoop.ml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/trunk/ivyLoop.ml b/trunk/ivyLoop.ml new file mode 100644 index 0000000..5808de4 --- /dev/null +++ b/trunk/ivyLoop.ml @@ -0,0 +1,22 @@ +type channel +type delete_channel_cb = unit -> unit +type timer +type timer_cb = timer -> unit + +external ext_timer : int -> int -> string -> timer = "ivy_timerRepeatafter" + +let timer = fun n t cb -> + let closure_name = Ivy.cb_register cb in + ext_timer n t closure_name + +external remove_timer : timer -> unit = "ivy_timerRemove" + +external main : unit -> unit = "ivy_mainLoop" + +external ext_channelSetUp : Unix.file_descr -> string -> channel = "ivy_channelSetUp" +external close_channel : channel -> unit = "ivy_channelClose" + + +type read_channel_cb = channel -> unit +let set_up_channel fd delete read = + ext_channelSetUp fd (Ivy.cb_register read) |