lib/android: intro the `wifi` module
[nit.git] / lib / android / wifi.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # Simple wrapper of the Android WiFi services
16 #
17 # Refer to the official Android documentation for the details on these services.
18 module wifi is android_manifest """
19 <uses-permission android:name="android.hardware.WIFI" />
20 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
21 """
22
23 import android::nit_activity
24
25 redef class NativeContext
26 # Handle to the WiFi system service
27 fun wifi_manager: NativeWifiManager in "Java" `{
28 return (android.net.wifi.WifiManager)
29 self.getSystemService(android.content.Context.WIFI_SERVICE);
30 `}
31 end
32
33 # Wraps Java class: `android.net.wifi.WifiManager`
34 extern class NativeWifiManager in "Java" `{ android.net.wifi.WifiManager `}
35 super JavaObject
36
37 # Wraps: `removeNetwork`
38 fun remove_network(arg0: Int): Bool in "Java" `{
39 return self.removeNetwork((int)arg0);
40 `}
41
42 # Wraps: `enableNetwork`
43 fun enable_network(arg0: Int, arg1: Bool): Bool in "Java" `{
44 return self.enableNetwork((int)arg0, arg1);
45 `}
46
47 # Wraps: `disableNetwork`
48 fun disable_network(arg0: Int): Bool in "Java" `{
49 return self.disableNetwork((int)arg0);
50 `}
51
52 # Wraps: `disconnect`
53 fun disconnect: Bool in "Java" `{
54 return self.disconnect();
55 `}
56
57 # Wraps: `reconnect`
58 fun reconnect: Bool in "Java" `{
59 return self.reconnect();
60 `}
61
62 # Wraps: `reassociate`
63 fun reassociate: Bool in "Java" `{
64 return self.reassociate();
65 `}
66
67 # Wraps: `pingSupplicant`
68 fun ping_supplicant: Bool in "Java" `{
69 return self.pingSupplicant();
70 `}
71
72 # Wraps: `startScan`
73 fun start_scan: Bool in "Java" `{
74 return self.startScan();
75 `}
76
77 # Wraps: `getScanResults`
78 fun get_scan_results: NativeListOfScanResult in "Java" `{
79 return self.getScanResults();
80 `}
81
82 # Wraps: `saveConfiguration`
83 fun save_configuration: Bool in "Java" `{
84 return self.saveConfiguration();
85 `}
86
87 # Wraps: `setWifiEnabled`
88 fun set_wifi_enabled(arg0: Bool): Bool in "Java" `{
89 return self.setWifiEnabled(arg0);
90 `}
91
92 # Wraps: `getWifiState`
93 fun get_wifi_state: Int in "Java" `{
94 return self.getWifiState();
95 `}
96
97 # Wraps: `isWifiEnabled`
98 fun is_wifi_enabled: Bool in "Java" `{
99 return self.isWifiEnabled();
100 `}
101
102 # Wraps: `calculateSignalLevel`
103 fun calculate_signal_level(arg0: Int, arg1: Int): Int in "Java" `{
104 return self.calculateSignalLevel((int)arg0, (int)arg1);
105 `}
106
107 # Wraps: `compareSignalLevel`
108 fun compare_signal_level(arg0: Int, arg1: Int): Int in "Java" `{
109 return self.compareSignalLevel((int)arg0, (int)arg1);
110 `}
111 end
112
113 # Wraps Java class: `android.net.wifi.ScanResult`
114 extern class NativeScanResult in "Java" `{ android.net.wifi.ScanResult `}
115 super JavaObject
116
117 # Wraps: `describeContents`
118 fun describe_contents: Int in "Java" `{
119 return self.describeContents();
120 `}
121
122 # Wraps: `BSSID`
123 fun bssid: JavaString in "Java" `{
124 return self.BSSID;
125 `}
126
127 # Wraps: `SSID`
128 fun ssid: JavaString in "Java" `{
129 return self.SSID;
130 `}
131
132 # Wraps: `capabilities`
133 fun capabilities: JavaString in "Java" `{
134 return self.capabilities;
135 `}
136
137 # Wraps: `frequency`
138 fun frequency: Int in "Java" `{
139 return self.frequency;
140 `}
141
142 # Wraps: `level`
143 fun level: Int in "Java" `{
144 return self.level;
145 `}
146 end
147
148 # Java list of `NativeScanResult`
149 extern class NativeListOfScanResult in "Java" `{ java.util.List `}
150
151 # Number of elements in this list
152 fun length: Int in "Java" `{ return self.size();`}
153
154 # Element at `index`
155 fun [](index: Int): NativeScanResult in "Java" `{
156 return ((java.util.List<android.net.wifi.ScanResult>)self).get((int)index);
157 `}
158 end