Home | History | Annotate | Download | only in ocaml
      1 (* -*- tuareg -*- *)
      2 
      3 type enum = [ `Int of int ]
      4 
      5 type 'a c_obj_t = 
      6     C_void
      7   | C_bool of bool
      8   | C_char of char
      9   | C_uchar of char
     10   | C_short of int
     11   | C_ushort of int
     12   | C_int of int
     13   | C_uint of int32
     14   | C_int32 of int32
     15   | C_int64 of int64
     16   | C_float of float
     17   | C_double of float
     18   | C_ptr of int64 * int64
     19   | C_array of 'a c_obj_t array
     20   | C_list of 'a c_obj_t list
     21   | C_obj of (string -> 'a c_obj_t -> 'a c_obj_t)
     22   | C_string of string
     23   | C_enum of 'a
     24   | C_director_core of 'a c_obj_t * 'a c_obj_t option ref
     25 
     26 type c_obj = enum c_obj_t
     27 
     28 exception InvalidDirectorCall of c_obj
     29 exception NoSuchClass of string
     30 
     31 val invoke : ('a c_obj_t) -> (string -> 'a c_obj_t -> 'a c_obj_t)
     32 val fnhelper : 'a c_obj_t -> 'a c_obj_t list
     33 
     34 val get_int : 'a c_obj_t -> int
     35 val get_float : 'a c_obj_t -> float
     36 val get_string : 'a c_obj_t -> string
     37 val get_char : 'a c_obj_t -> char
     38 val get_bool : 'a c_obj_t -> bool
     39 
     40 val make_float : float -> 'a c_obj_t
     41 val make_double : float -> 'a c_obj_t
     42 val make_string : string -> 'a c_obj_t
     43 val make_bool : bool -> 'a c_obj_t
     44 val make_char : char -> 'a c_obj_t
     45 val make_char_i : int -> 'a c_obj_t
     46 val make_uchar : char -> 'a c_obj_t
     47 val make_uchar_i : int -> 'a c_obj_t
     48 val make_short : int -> 'a c_obj_t
     49 val make_ushort : int -> 'a c_obj_t
     50 val make_int : int -> 'a c_obj_t
     51 val make_uint : int -> 'a c_obj_t
     52 val make_int32 : int -> 'a c_obj_t
     53 val make_int64 : int -> 'a c_obj_t
     54 
     55 val new_derived_object: 
     56   ('a c_obj_t -> 'a c_obj_t) ->
     57   ('a c_obj_t -> string -> 'a c_obj_t -> 'a c_obj_t) ->
     58   'a c_obj_t -> 'a c_obj_t
     59   
     60 val register_class_byname : string -> ('a c_obj_t -> 'a c_obj_t) -> unit
     61 val create_class : string -> 'a c_obj_t -> 'a c_obj_t
     62