enum @beta Efl.Loop_Handler_Flags { [[ A set of flags that can be OR'd together to indicate which are desired ]] none = 0, [[ No I/O is desired (generally useless) ]] read = 1, [[ Reading is desired ]] write = 2, [[ Writing is desired ]] error = 4, [[ Error channel input is desired ]] } class @beta Efl.Loop_Handler extends Efl.Object { [[ An object that describes an low-level source of I/O to listen to for available data to be read or written, depending on the OS and data source type. When I/O becomes available various events are produced and the callbacks attached to them will be called. ]] methods { @property active { [[ This sets what kind of I/O should be listened to only when using a fd or fd_file for the handler ]] set { } get { } values { flags: Efl.Loop_Handler_Flags; [[The flags that indicate what kind of I/O should be listened for like read, write or error channels. ]] } } @property fd { [[ Controls a file descriptor to listen to for I/O, which points to a data pipe such as a device, socket or pipe etc. ]] set { } get { } values { fd: int; [[ The file descriptor ]] } } @property fd_file { [[ Controls a file descriptor to listen to for I/O that specifically points to a file in storage and not a device, socket or pipe etc. ]] set { } get { } values { fd: int; [[ The file descriptor ]] } } @property win32 { [[ Controls a windows win32 object handle to listen to for I/O. When it becomes available for any data the read event will be produced. ]] set { } get { } values { handle: void_ptr; [[ A win32 object handle ]] } } } events { read: void; [[ Called when a read occurs on the descriptor. ]] write: void; [[ Called when a write occurs on the descriptor. ]] error: void; [[ Called when a error occurrs on the descriptor. ]] buffer: void; [[ Called when buffered data already read from the descriptor should be processed. ]] prepare: void; [[ Called when preparing a descriptor for listening. ]] } implements { Efl.Object.constructor; Efl.Object.destructor; Efl.Object.finalize; Efl.Object.parent { set; } } }