summaryrefslogtreecommitdiff
path: root/src/lib/ecore_con/efl_net_socket_fd.eo
blob: 9149464a7565c4b03cd1b3ee3adcf8e251aab19d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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; }
    }
}