Skip to content

Commit a49b31d

Browse files
authored
Merge pull request #39 from osociety/dev
Dev -> Main
2 parents 9f34501 + c14877c commit a49b31d

14 files changed

+218
-100
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Change Log
22

3+
## 2.0.0
4+
1. Unified framework for network_tools and network_tools_flutter
5+
6+
**Breaking change** Replace these occurences in your project
7+
8+
* HostScannerFlutter to HostScannerService.instance
9+
* PortScannerFlutter to PortScannerService.instance
10+
11+
312
## 1.0.5
413

514
1. scanPortsForSingleDevice and customDiscover supports async mode now.

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ This package will add support for flutter features which is out of the scope of
99
## Getting started
1010

1111
## Usage
12-
Add dependency in pubspec.yml
12+
Add dependency in pubspec.yml, path_provider dependency is also needed
1313

1414
```yml
1515
dependencies:
1616
flutter:
1717
sdk: flutter
1818

1919
network_tools_flutter: ^1.0.4
20+
path_provider: ^2.1.2
2021
```
2122
22-
Import package in your project
23-
```dart
24-
import 'package:network_tools_flutter/network_tools_flutter.dart';
25-
```
2623
27-
Use HostScannerFlutter and PortScannerFlutter for your flutter projects. See example directory for illustration.
2824
29-
## Additional information
25+
And initialize the pacakge in the main function
26+
27+
```dart
28+
await configureNetworkToolsFlutter((await getApplicationDocumentsDirectory()).path);
29+
```
3030

31-
You can use same APIs but need to import from network_tools_flutter. All APIs from network_tools are automatically imported by network_tools_flutter. So just import network_tools_flutter in your flutter app.
31+
From here please follow the documentation of [network_tools](https://pub.dev/packages/network_tools) as they are the same.

analysis_options.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ analyzer:
2222
- "**/*.pbjson.dart"
2323
- "**/*.gr.dart"
2424
- "**/*.md"
25-
- "example/**"
2625

2726
linter:
2827
rules:

example/lib/main.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import 'package:path_provider/path_provider.dart';
77
Future<void> main() async {
88
WidgetsFlutterBinding.ensureInitialized();
99
final appDocDirectory = await getApplicationDocumentsDirectory();
10-
await configureNetworkTools(appDocDirectory.path, enableDebugging: true);
10+
await configureNetworkToolsFlutter(appDocDirectory.path,
11+
enableDebugging: true);
1112
runApp(const MyApp());
1213
}
1314

example/lib/pages/pingable_devices.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ class _PingableDevicesState extends State<PingableDevices> {
1919
if (netInt == null) {
2020
return;
2121
}
22-
HostScannerFlutter.getAllPingableDevices(netInt.networkId).listen((host) {
22+
HostScannerService.instance
23+
.getAllPingableDevices(netInt.networkId)
24+
.listen((host) {
2325
setState(() {
2426
activeHosts.add(host);
2527
});
2628
}).onError((e) {
29+
// ignore: avoid_print
2730
print('Error $e');
2831
});
2932
});

example/lib/pages/port_scanner_page.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,14 @@ class _PortScannerPageState extends State<PortScannerPage> {
2121
}
2222
String subnet =
2323
netInt.ipAddress.substring(0, netInt.ipAddress.lastIndexOf('.'));
24-
HostScanner.scanDevicesForSinglePort(subnet, 53).listen((host) {
24+
HostScannerService.instance
25+
.scanDevicesForSinglePort(subnet, 53)
26+
.listen((host) {
2527
setState(() {
2628
activeHosts.add(host);
2729
});
2830
}).onError((e) {
31+
// ignore: avoid_print
2932
print('Error $e');
3033
});
3134
});

example/pubspec.lock

Lines changed: 54 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,6 @@ packages:
3333
url: "https://pub.dev"
3434
source: hosted
3535
version: "1.3.0"
36-
charcode:
37-
dependency: transitive
38-
description:
39-
name: charcode
40-
sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
41-
url: "https://pub.dev"
42-
source: hosted
43-
version: "1.3.1"
4436
clock:
4537
dependency: transitive
4638
description:
@@ -69,10 +61,10 @@ packages:
6961
dependency: transitive
7062
description:
7163
name: csv
72-
sha256: "016b31a51a913744a0a1655c74ff13c9379e1200e246a03d96c81c5d9ed297b5"
64+
sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e"
7365
url: "https://pub.dev"
7466
source: hosted
75-
version: "5.0.2"
67+
version: "5.1.1"
7668
cupertino_icons:
7769
dependency: "direct main"
7870
description:
@@ -85,10 +77,10 @@ packages:
8577
dependency: transitive
8678
description:
8779
name: dart_ping
88-
sha256: dd3a93d9b986565cb2fadd0c9277cf9880298634ccc9588e353e63c6f736a386
80+
sha256: "2f5418d0a5c64e53486caaac78677b25725b1e13c33c5be834ce874ea18bd24f"
8981
url: "https://pub.dev"
9082
source: hosted
91-
version: "9.0.0"
83+
version: "9.0.1"
9284
dart_ping_ios:
9385
dependency: transitive
9486
description:
@@ -155,22 +147,14 @@ packages:
155147
description: flutter
156148
source: sdk
157149
version: "0.0.0"
158-
get_it:
159-
dependency: transitive
160-
description:
161-
name: get_it
162-
sha256: f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3
163-
url: "https://pub.dev"
164-
source: hosted
165-
version: "7.6.4"
166150
http:
167151
dependency: transitive
168152
description:
169153
name: http
170-
sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
154+
sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba
171155
url: "https://pub.dev"
172156
source: hosted
173-
version: "1.1.0"
157+
version: "1.2.0"
174158
http_parser:
175159
dependency: transitive
176160
description:
@@ -179,14 +163,6 @@ packages:
179163
url: "https://pub.dev"
180164
source: hosted
181165
version: "4.0.2"
182-
injectable:
183-
dependency: transitive
184-
description:
185-
name: injectable
186-
sha256: "5217c45fec809286a7b1b4fbcbd70aab1662bf18d9eb207490df421323f7883f"
187-
url: "https://pub.dev"
188-
source: hosted
189-
version: "2.3.0"
190166
intl:
191167
dependency: transitive
192168
description:
@@ -203,6 +179,30 @@ packages:
203179
url: "https://pub.dev"
204180
source: hosted
205181
version: "4.8.1"
182+
leak_tracker:
183+
dependency: transitive
184+
description:
185+
name: leak_tracker
186+
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
187+
url: "https://pub.dev"
188+
source: hosted
189+
version: "10.0.0"
190+
leak_tracker_flutter_testing:
191+
dependency: transitive
192+
description:
193+
name: leak_tracker_flutter_testing
194+
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
195+
url: "https://pub.dev"
196+
source: hosted
197+
version: "2.0.1"
198+
leak_tracker_testing:
199+
dependency: transitive
200+
description:
201+
name: leak_tracker_testing
202+
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
203+
url: "https://pub.dev"
204+
source: hosted
205+
version: "2.0.1"
206206
lints:
207207
dependency: transitive
208208
description:
@@ -223,57 +223,57 @@ packages:
223223
dependency: transitive
224224
description:
225225
name: matcher
226-
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
226+
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
227227
url: "https://pub.dev"
228228
source: hosted
229-
version: "0.12.16"
229+
version: "0.12.16+1"
230230
material_color_utilities:
231231
dependency: transitive
232232
description:
233233
name: material_color_utilities
234-
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
234+
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
235235
url: "https://pub.dev"
236236
source: hosted
237-
version: "0.5.0"
237+
version: "0.8.0"
238238
meta:
239239
dependency: transitive
240240
description:
241241
name: meta
242-
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
242+
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
243243
url: "https://pub.dev"
244244
source: hosted
245-
version: "1.10.0"
245+
version: "1.11.0"
246246
multicast_dns:
247247
dependency: transitive
248248
description:
249249
name: multicast_dns
250-
sha256: f4fd1c3365171fac5160afcb1a283001d3413dee5fd41c61d80888952d609379
250+
sha256: "316cc47a958d4bd3c67bd238fe8b44fdfb6133bad89cb191c0c3bd3edb14e296"
251251
url: "https://pub.dev"
252252
source: hosted
253-
version: "0.3.2+4"
253+
version: "0.3.2+6"
254254
network_tools:
255255
dependency: transitive
256256
description:
257257
name: network_tools
258-
sha256: "84cd355e2d9db58456a05b7ebd4021fcbe42241043b7e6157bff2a0853054dd4"
258+
sha256: c7543a957006047d4b6e7442c2cc0f592a1dd6572a6c1024301bc11dc53d45de
259259
url: "https://pub.dev"
260260
source: hosted
261-
version: "4.0.1"
261+
version: "5.0.0"
262262
network_tools_flutter:
263263
dependency: "direct main"
264264
description:
265265
path: ".."
266266
relative: true
267267
source: path
268-
version: "1.0.4"
268+
version: "1.0.5"
269269
path:
270270
dependency: transitive
271271
description:
272272
name: path
273-
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
273+
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
274274
url: "https://pub.dev"
275275
source: hosted
276-
version: "1.8.3"
276+
version: "1.9.0"
277277
path_provider:
278278
dependency: "direct main"
279279
description:
@@ -342,10 +342,10 @@ packages:
342342
dependency: transitive
343343
description:
344344
name: process_run
345-
sha256: ceacfac6d566a36c895d64edc7e429efb2d6b6303b5e28d5c13bc59fe6e8974e
345+
sha256: cad2c57a34f8313a4182e34e31e0b2f12972eef3d0930cdc7ab3240bb8cad380
346346
url: "https://pub.dev"
347347
source: hosted
348-
version: "0.13.1"
348+
version: "0.14.1+3"
349349
pub_semver:
350350
dependency: transitive
351351
description:
@@ -455,6 +455,14 @@ packages:
455455
url: "https://pub.dev"
456456
source: hosted
457457
version: "2.1.4"
458+
vm_service:
459+
dependency: transitive
460+
description:
461+
name: vm_service
462+
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
463+
url: "https://pub.dev"
464+
source: hosted
465+
version: "13.0.0"
458466
web:
459467
dependency: transitive
460468
description:
@@ -488,5 +496,5 @@ packages:
488496
source: hosted
489497
version: "3.1.2"
490498
sdks:
491-
dart: ">=3.2.0-194.0.dev <4.0.0"
499+
dart: ">=3.2.0 <4.0.0"
492500
flutter: ">=3.7.0"

lib/network_tools_flutter.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
library network_tools_flutter;
22

3-
export 'src/host_scanner_flutter.dart';
4-
export 'src/port_scanner_flutter.dart';
53
export 'package:network_tools/network_tools.dart';
4+
export 'package:network_tools_flutter/src/configure_flutter.dart';

lib/src/configure_flutter.dart

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import 'package:logging/logging.dart';
2+
import 'package:network_tools/network_tools.dart' as pacakges_page;
3+
// ignore: implementation_imports
4+
import 'package:network_tools/src/network_tools_utils.dart';
5+
// ignore: implementation_imports
6+
import 'package:network_tools/src/services/arp_service.dart';
7+
// ignore: implementation_imports
8+
import 'package:network_tools/src/services/impls/arp_service_sembast_impl.dart';
9+
import 'package:network_tools_flutter/src/services_impls/host_scanner_service_flutter_impl.dart';
10+
import 'package:network_tools_flutter/src/services_impls/port_scanner_service_flutter_impl.dart';
11+
12+
Future<void> configureNetworkToolsFlutter(
13+
String dbDirectory, {
14+
bool enableDebugging = false,
15+
}) async {
16+
pacakges_page.enableDebugging = enableDebugging;
17+
pacakges_page.dbDirectory = dbDirectory;
18+
19+
if (pacakges_page.enableDebugging) {
20+
Logger.root.level = Level.FINE;
21+
Logger.root.onRecord.listen((record) {
22+
if (record.loggerName == log.name) {
23+
// ignore: avoid_print
24+
print(
25+
'${record.time.toLocal()}: ${record.level.name}: ${record.loggerName}: ${record.message}',
26+
);
27+
}
28+
});
29+
}
30+
31+
/// Setting dart native classes implementations
32+
ARPServiceSembastImpl();
33+
HostScannerServiceFlutterImpl();
34+
PortScannerServiceFlutterImpl();
35+
36+
final arpService = await ARPService.instance.open();
37+
await arpService.buildTable();
38+
await pacakges_page.VendorTable.createVendorTableMap();
39+
}

0 commit comments

Comments
 (0)