summaryrefslogblamecommitdiff
path: root/src/lib/ecore_con/efl_net_socket_fd.eo
blob: 8cce3ff3189bd5b988ed2bea0dbf0a896deb3540 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
                                                                                                             




                                                                 



                                                                     









                                                                
                                                                     




                                           
                                               

             





                               
                               
                            
                                     
                           

                                       
                            
                                        

                                                   

     
class Efl.Net.Socket_Fd (Efl.Loop_Fd, Efl.Io.Reader_Fd, Efl.Io.Writer_Fd, Efl.Io.Closer_Fd, Efl.Net.Socket) {
    [[A base implementation for sockets over filedescriptors (fd)

      This is the common class and takes an existing FD, usually
      created by an dialer or server.

      @Efl.Io.Closer.close_on_exec and
      @Efl.Io.Closer.close_on_destructor are respected and default to
      $true.

      @since 1.19
    ]]

    methods {
        @property family {
            [[The address family (AF_*) family of this socket.

              It will be one of AF_INET (IPv4), AF_INET6 (IPv6),
              AF_UNIX...

              It must be set before the @Efl.Loop_Fd.fd.set is called
              with a valid file descriptor.
            ]]
            get { }
            set @protected { }
            values {
                family: int; [[Address family]]
            }
        }
    }

    implements {
        Efl.Object.finalize;
        Efl.Object.constructor;
        Efl.Object.destructor;
        Efl.Loop_Fd.fd { set; }
        Efl.Io.Closer.close;
        Efl.Io.Closer.closed { get; }
        Efl.Io.Reader.read;
        Efl.Io.Reader.can_read { set; }
        Efl.Io.Reader.eos { set; }
        Efl.Io.Writer.write;
        Efl.Io.Writer.can_write { set; }
        Efl.Net.Socket.address_local { get; set; }
        Efl.Net.Socket.address_remote { get; set; }
    }
}