OLD | NEW |
1 <h2 id="usage">Usage</h2> | 1 <h2 id="usage">Usage</h2> |
2 <p> | 2 <p> |
3 Typical usage of vpnProvider is as follows: | 3 Typical usage of vpnProvider is as follows: |
4 | 4 |
5 <ul> | 5 <ul> |
6 <li>Create VPN configurations using the $(ref:createConfig) method. A VPN | 6 <li>Create VPN configurations using the $(ref:createConfig) method. A VPN |
7 configuration is a persistent entry shown to the user in a native Chrome OS | 7 configuration is a persistent entry shown to the user in a native Chrome OS |
8 UI. The user can select a VPN configuration from a list and connect to it or | 8 UI. The user can select a VPN configuration from a list and connect to it or |
9 disconnect from it.</li> | 9 disconnect from it.</li> |
10 <li>Add listeners to the events $(ref:onPlatformMessage), | 10 <li>Add listeners to the events $(ref:onPlatformMessage), |
11 $(ref:onPacketReceived) and $(ref:onConfigRemoved).</li> | 11 $(ref:onPacketReceived) and $(ref:onConfigRemoved).</li> |
12 <li>When the user connects to the VPN configuration, $(ref:onPlatformMessage) | 12 <li>When the user connects to the VPN configuration, $(ref:onPlatformMessage) |
13 will be received with the message <code>"connected"</code>. We refer to the | 13 will be received with the message <code>"connected"</code>. We refer to the |
14 period between the messages <code>"connected"</code> and | 14 period between the messages <code>"connected"</code> and |
15 <code>"disconnected"</code> as a VPN session. In this time period, the | 15 <code>"disconnected"</code> as a VPN session. In this time period, the |
16 extension that receives the message is said to own the VPN session.</li> | 16 extension that receives the message is said to own the VPN session.</li> |
17 <li>Initiate connection to the VPN server and start the VPN client.</li> | 17 <li>Initiate connection to the VPN server and start the VPN client.</li> |
18 <li>Set the Parameters of the connection using $(ref:setParameters).</li> | 18 <li>Set the Parameters of the connection using $(ref:setParameters).</li> |
19 <li>Notify the connection state as <code>"connected"</code> using | 19 <li>Notify the connection state as <code>"connected"</code> using |
20 $(ref:notifyConnectionStateChanged).</li> | 20 $(ref:notifyConnectionStateChanged).</li> |
21 <li>When the steps above are completed without errors, a virtual tunnel is | 21 <li>When the steps above are completed without errors, a virtual tunnel is |
22 created to the network stack of Chrome OS. IP packets can be sent through | 22 created to the network stack of Chrome OS. IP packets can be sent through |
23 the tunnel using $(ref:sendPacket) and any incoming packets will be received | 23 the tunnel using $(ref:sendPacket) and any packets originating on the Chrome |
24 using the event $(ref:onPacketReceived).</li> | 24 OS device will be received using the event $(ref:onPacketReceived).</li> |
25 <li>When the user disconnects from the VPN configuration, | 25 <li>When the user disconnects from the VPN configuration, |
26 $(ref:onPlatformMessage) will be fired with the message | 26 $(ref:onPlatformMessage) will be fired with the message |
27 <code>"disconnected"</code>.</li> | 27 <code>"disconnected"</code>.</li> |
28 <li>If the VPN configuration is no longer necessary, it can be destroyed using | 28 <li>If the VPN configuration is no longer necessary, it can be destroyed using |
29 $(ref:destroyConfig).</li> | 29 $(ref:destroyConfig).</li> |
30 </ul> | 30 </ul> |
31 </p> | 31 </p> |
OLD | NEW |