summaryrefslogtreecommitdiff
path: root/pages/develop/api/efl/net/dialer/ssl.txt
blob: 46d05310a06e42c37c5bb28eab27640affbaefd1 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
~~Title: Efl.Net.Dialer.Ssl~~
====== Efl.Net.Dialer.Ssl (class) ======

===== Description =====

%%Connects to a remote SSL server using TCP.%%

%%This creates an internal %%[[:develop:api:efl:net:dialer:tcp|Efl.Net.Dialer.Tcp]]%% and once connected it will start the SSL handshake.%%

%%If the proxy is NULL (default), then the system proxy will be used. On UNIX that's the environment variable %%''socks_proxy''%% (or '%%''proxy''%%' or '%%''all_proxy''%%') is used if the given address doesn't match %%''no_proxy''%% patterns. To disable proxy use an empty string.%%

%%If the proxy is NULL (default), then the system proxy will be used. On UNIX that's the environment variable %%''socks_proxy''%% (or '%%''all_proxy''%%') is used if the given address doesn't match %%''no_proxy''%% patterns. To disable proxy use an empty string. If provided proxy must be one of the protocols:%%

%%- socks5://username:password@proxyserver:port (SOCKSv5) - socks5h://username@proxyserver:port (let socks server to resolve domain) - socks5://proxyserver:port - socks5://proxyserver (default port 1080) - socks4a://proxyserver:port (SOCKSv4 and let socks server to resolve domain) - socks4://proxyserver:port (SOCKSv4)%%

//Since 1.19//

{{page>:develop:api-include:efl:net:dialer:ssl:description&nouser&nolink&nodate}}

===== Inheritance =====

 => [[:develop:api:efl:net:socket:ssl|Efl.Net.Socket.Ssl]] //(class)// => [[:develop:api:efl:loop:consumer|Efl.Loop.Consumer]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
++++ Full hierarchy |

  * [[:develop:api:efl:net:socket:ssl|Efl.Net.Socket.Ssl]] //(class)//
    * [[:develop:api:efl:loop:consumer|Efl.Loop.Consumer]] //(class)//
      * [[:develop:api:efl:object|Efl.Object]] //(class)//
    * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
      * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
      * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
      * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
  * [[:develop:api:efl:net:dialer|Efl.Net.Dialer]] //(interface)//
    * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
      * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
      * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
      * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//


++++
===== Members =====

**[[:develop:api:efl:net:dialer:ssl:property:address_dial|address_dial]]** //**(get, set)**// ''protected set''// [Overridden from [[:develop:api:efl:net:dialer|Efl.Net.Dialer]]]//\\
> %%Returns the address given to %%[[:develop:api:efl:net:dialer:method:dial|Efl.Net.Dialer.dial]]%%.%%
<code c>
const char *efl_net_dialer_address_dial_get(const Eo *obj);
void efl_net_dialer_address_dial_set(Eo *obj, const char *address);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:method:close|close]]**// [Overridden from [[:develop:api:efl:io:closer|Efl.Io.Closer]]]//\\
> %%Closes the Input/Output object.%%
<code c>
Eina_Error efl_io_closer_close(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:connected|connected]]** //**(get, set)**// ''protected set''// [Overridden from [[:develop:api:efl:net:dialer|Efl.Net.Dialer]]]//\\
> %%Returns whenever the socket is connected or not.%%
<code c>
Eina_Bool efl_net_dialer_connected_get(const Eo *obj);
void efl_net_dialer_connected_set(Eo *obj, Eina_Bool connected);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:method:constructor|constructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\
> %%Call the object's constructor.%%
<code c>
Efl_Object *efl_constructor(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:method:destructor|destructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\
> %%Call the object's destructor.%%
<code c>
void efl_destructor(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:method:dial|dial]]**// [Overridden from [[:develop:api:efl:net:dialer|Efl.Net.Dialer]]]//\\
> %%Dials to the remote peer.%%
<code c>
Eina_Error efl_net_dialer_dial(Eo *obj, const char *address);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:method:finalize|finalize]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\
> %%Called at the end of efl_add. Should not be called, just overridden.%%
<code c>
Efl_Object *efl_finalize(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:keep_alive|keep_alive]]** //**(get, set)**//\\
> %%Controls keep-alive using SO_KEEPALIVE%%
<code c>
Eina_Bool efl_net_dialer_ssl_keep_alive_get(const Eo *obj);
Eina_Bool efl_net_dialer_ssl_keep_alive_set(Eo *obj, Eina_Bool keep_alive);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:no_delay|no_delay]]** //**(get, set)**//\\
> %%Controls TCP's no-delay using TCP_NODELAY%%
<code c>
Eina_Bool efl_net_dialer_ssl_no_delay_get(const Eo *obj);
Eina_Bool efl_net_dialer_ssl_no_delay_set(Eo *obj, Eina_Bool no_delay);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:proxy|proxy]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:net:dialer|Efl.Net.Dialer]]]//\\
> %%Controls/retrieves if the dialer should use a proxy.%%
<code c>
const char *efl_net_dialer_proxy_get(const Eo *obj);
void efl_net_dialer_proxy_set(Eo *obj, const char *proxy_url);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:ssl_context|ssl_context]]** //**(get, set)**//\\
> %%Defines the SSL context to use for this dialer.%%
<code c>
Efl_Net_Ssl_Context *efl_net_dialer_ssl_context_get(const Eo *obj);
void efl_net_dialer_ssl_context_set(Eo *obj, Efl_Net_Ssl_Context *ssl_context);
</code>
\\
**[[:develop:api:efl:net:dialer:ssl:property:timeout_dial|timeout_dial]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:net:dialer|Efl.Net.Dialer]]]//\\
> %%The timeout in seconds to use for dialing/connecting.%%
<code c>
double efl_net_dialer_timeout_dial_get(const Eo *obj);
void efl_net_dialer_timeout_dial_set(Eo *obj, double seconds);
</code>
\\

==== Inherited ====

^ [[:develop:api:efl:loop:consumer|Efl.Loop.Consumer]] ^^^
|  | **[[:develop:api:efl:loop:consumer:property:loop|loop]]** //**(get)**// | %%The loop to which this object belongs to.%% |
|  | **[[:develop:api:efl:loop:consumer:property:parent|parent]]** //**(get, set)**// | %%The parent of an object.%% |
^ [[:develop:api:efl:net:socket:ssl|Efl.Net.Socket.Ssl]] ^^^
|  ''protected set'' | **[[:develop:api:efl:net:socket:ssl:property:address_local|address_local]]** //**(get, set)**// | %%The local address, similar to getsockname().%% |
|  ''protected set'' | **[[:develop:api:efl:net:socket:ssl:property:address_remote|address_remote]]** //**(get, set)**// | %%The remote address, similar to getpeername().%% |
|  | **[[:develop:api:efl:net:socket:ssl:method:adopt|adopt]]** | %%Adopt an Efl.Net.Dialer or regular Efl.Net.Socket that will be used for the actual communication.%% |
|  ''protected set'' | **[[:develop:api:efl:net:socket:ssl:property:can_read|can_read]]** //**(get, set)**// | %%If %%''true''%% will notify %%[[:develop:api:efl:io:reader:method:read|Efl.Io.Reader.read]]%% can be called without blocking or failing.%% |
|  ''protected set'' | **[[:develop:api:efl:net:socket:ssl:property:can_write|can_write]]** //**(get, set)**// | %%If %%''true''%% will notify %%[[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]%% can be called without blocking or failing.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// | %%If true will automatically close() on object destructor.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:close_on_exec|close_on_exec]]** //**(get, set)**// | %%If true will automatically close resources on exec() calls.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:closed|closed]]** //**(get, set)**// | %%If true will notify object was closed.%% |
|  ''protected set'' | **[[:develop:api:efl:net:socket:ssl:property:eos|eos]]** //**(get, set)**// | %%If %%''true''%% will notify end of stream.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:hostname_override|hostname_override]]** //**(get, set)**// | %%Overrides the hostname to use for this socket.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:hostname_verify|hostname_verify]]** //**(get, set)**// | %%Define if hostname should be verified.%% |
|  | **[[:develop:api:efl:net:socket:ssl:method:read|read]]** | %%Reads data into a pre-allocated buffer.%% |
|  | **[[:develop:api:efl:net:socket:ssl:property:verify_mode|verify_mode]]** //**(get, set)**// | %%How to verify the remote peer.%% |
|  | **[[:develop:api:efl:net:socket:ssl:method:write|write]]** | %%Writes data from a pre-populated buffer.%% |
|  ''protected'' | **[[:develop:api:efl:net:socket:ssl:property:adopted|adopted]]** //**(get)**// | %%Return the adopted object, if any. Be careful!%% |
^ [[:develop:api:efl:object|Efl.Object]] ^^^
|  | **[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**// | %%Allow an object to be deleted by unref even if it has a parent.%% |
|  | **[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]** | %%Get an iterator on all childrens%% |
|  | **[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**// | %%A human readable comment for the object%% |
|  | **[[:develop:api:efl:object:method:composite_attach|composite_attach]]** | %%Make an object a composite object of another.%% |
|  | **[[:develop:api:efl:object:method:composite_detach|composite_detach]]** | %%Detach a composite object from another object.%% |
|  | **[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]** | %%Check if an object is part of a composite object.%% |
|  | **[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]** | %%Build a read-only name for this object used for debugging.%% |
|  | **[[:develop:api:efl:object:method:del|del]]** | %%Unrefs the object and reparents it to NULL.%% |
|  | **[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]** | %%Add an event callback forwarder for an event and an object.%% |
|  | **[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]** | %%Remove an event callback forwarder for an event and an object.%% |
|  | **[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]** | %%Stop the current callback call.%% |
|  | **[[:develop:api:efl:object:method:event_freeze|event_freeze]]** | %%Freeze events of object.%% |
|  | **[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**// | %%Return freeze events of object.%% |
|  ''class'' | **[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]** | %%Freeze events of object.%% |
|  ''class'' | **[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**// | %%Return freeze events of object.%% |
|  ''class'' | **[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]** | %%Thaw events of object.%% |
|  | **[[:develop:api:efl:object:method:event_thaw|event_thaw]]** | %%Thaw events of object.%% |
|  | **[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**// | %%True if the object is already finalized, otherwise false.%% |
|  | **[[:develop:api:efl:object:property:name|name]]** //**(get, set)**// | %%The name of the object.%% |
|  | **[[:develop:api:efl:object:method:name_find|name_find]]** | %%Find a child object with the given name and return it.%% |
|  | **[[:develop:api:efl:object:method:provider_find|provider_find]]** | %%Searches upwards in the object tree for a provider which knows the given class/interface.%% |

===== Events =====

==== Inherited ====

^ [[:develop:api:efl:io:closer|Efl.Io.Closer]] ^^^
|  | **[[:develop:api:efl:io:closer:event:closed|closed]]** | %%Notifies closed, when property is marked as true%% |
^ [[:develop:api:efl:io:reader|Efl.Io.Reader]] ^^^
|  | **[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]** | %%Notifies can_read property changed.%% |
|  | **[[:develop:api:efl:io:reader:event:eos|eos]]** | %%Notifies end of stream, when property is marked as true.%% |
^ [[:develop:api:efl:io:writer|Efl.Io.Writer]] ^^^
|  | **[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]** | %%Notifies can_write property changed.%% |
^ [[:develop:api:efl:net:dialer|Efl.Net.Dialer]] ^^^
|  | **[[:develop:api:efl:net:dialer:event:connected|connected]]** | %%Notifies the socket is connected to the remote peer.%% |
|  | **[[:develop:api:efl:net:dialer:event:error|error]]** | %%Some error happened and the socket stopped working.%% |
|  | **[[:develop:api:efl:net:dialer:event:resolved|resolved]]** | %%Notifies %%[[:develop:api:efl:net:dialer:property:address_dial|Efl.Net.Dialer.address_dial]]%% was resolved to %%[[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]]%%.%% |
^ [[:develop:api:efl:net:socket:ssl|Efl.Net.Socket.Ssl]] ^^^
|  | **[[:develop:api:efl:net:socket:ssl:event:ssl_error|ssl,error]]** | %%An error such as %%[[:develop:api:efl:net:socket:ssl:error:handshake|Efl.Net.Socket.Ssl.Error.HANDSHAKE]]%%%% |
|  | **[[:develop:api:efl:net:socket:ssl:event:ssl_ready|ssl,ready]]** | %%Notifies the SSL handshake has been performed and the socket is now able to communicate%% |
^ [[:develop:api:efl:object|Efl.Object]] ^^^
|  | **[[:develop:api:efl:object:event:callback_add|callback,add]]** | %%A callback was added.%% |
|  | **[[:develop:api:efl:object:event:callback_del|callback,del]]** | %%A callback was deleted.%% |
|  | **[[:develop:api:efl:object:event:del|del]]** | %%Object is being deleted.%% |
|  | **[[:develop:api:efl:object:event:destruct|destruct]]** | %%Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any dangling pointer.%% |