~~Title: Efl.Io.Writer~~ ====== Efl.Io.Writer (interface) ====== ===== Description ===== %%Generic interface for objects that can write data from a provided memory.%% %%This interface allows external objects to transparently write data to this object and be notified whether more data can be written or if it's reached capacity.%% %%Calls to %%[[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]%%() may or may not block: that's not up to this interface to specify. The user can check with event "can_write,changed" or property %%[[:develop:api:efl:io:writer:property:can_write|Efl.Io.Writer.can_write]]%% to known whenever a write could push more data.%% //Since 1.22// {{page>:develop:api-include:efl:io:writer:description&nouser&nolink&nodate}} ===== Members ===== **[[:develop:api:efl:io:writer:property:can_write|can_write]]** //**(get, set)**// ''protected set''\\ > %%If %%''true''%% will notify %%[[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]%% can be called without blocking or failing.%% Eina_Bool efl_io_writer_can_write_get(const Eo *obj); void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write); \\ **[[:develop:api:efl:io:writer:method:write|write]]**\\ > %%Writes data from a pre-populated buffer.%% Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining); \\ ===== Events ===== **[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**\\ > %%Notifies can_write property changed.%% EFL_IO_WRITER_EVENT_CAN_WRITE_CHANGED(Eina_Bool) \\