Commit Graph
1022 Commits
Author SHA1 Message Date
Timothy Hutchins 4a4056694a Implemented missing implementation files
I missed some implementation when I was looking over them. These are
them.
2023-08-16 21:37:52 -05:00
Timothy Hutchins 17786cbec3 Added base implementation for input_file and output_file
This are unimplemented currently, but will be in the future.
2023-08-16 21:36:04 -05:00
Timothy Hutchins 90d8e208eb Implemented a TimerQueue class and a Timer class
The Windows implementation of the Timer class (in timer.h) used Timer
Queues. This brings in implementation for a mostly Windows complient
TimerQueue class to work with the Timer class.
2023-08-16 21:31:31 -05:00
Vibhav Pant ba07f52103 Simplify Bluetooth code. 2023-08-16 21:04:18 +05:30
Vibhav Pant c5f818c90a Use NetworkManager object for checking connectivity. 2023-08-16 19:03:47 +05:30
Janusz Sobczak 2c55c0cdbd Refactor Pipe implementation
* Remove Pipe classes
* Rename BasePipe to Pipe
* Hide Pipe class in anonymous namespace in pipe.cc
* Add CreatePipe static method
* Replace Payload(std::function<InputStream&()>) with Payload(std::unique_ptr<InputStream>)
* Find&Replace Pipe usages

PiperOrigin-RevId: 557276980
2023-08-15 15:53:58 -07:00
Janusz Sobczak 20db5da721 Extract SocketBase
Test only change.

Extracts a common base class for BluetoothSocket, BleSocket, BleV2Socket, WifiDirectSocket, WifiHotspotSocket and  WifiLanSocket to reduce code duplication.

PiperOrigin-RevId: 557267937
2023-08-15 15:22:06 -07:00
Vibhav Pant 9b742d920a Add initial wifi medium code. 2023-08-16 02:00:09 +05:30
Vibhav Pant c8af59666d Rewrite dbus code using sdbus-c++ 2023-08-15 20:52:51 +05:30
Guogang Li fabeff0d57 Added APIs to control device sleep
These APIs can be used to prevent device into sleep when sending supper big files.

PiperOrigin-RevId: 556809236
2023-08-14 09:05:11 -07:00
Janusz Sobczak 5393daf9f1 Merge logging and types build targets
Both "types" and "logging" build targets included "logging.h"
Merging them together avoids circular dependencies.

PiperOrigin-RevId: 555262816
2023-08-09 19:13:12 -07:00
Guogang Li 5b155f9a4a Added data section filter in BLE scanning
PiperOrigin-RevId: 553660098
2023-08-09 19:11:48 -07:00
Vibhav Pant aea2e16937 Walk through InterfacesAdded data correctly. 2023-08-09 18:42:56 +05:30
Timothy Hutchins fa197d2036 Implemented submittable_executor and some other missed files
A file was named wrong. It was changed.
2023-08-07 15:16:43 -05:00
Timothy Hutchins e6f52fba98 Implemented preferences_manager and helpers 2023-08-07 13:58:39 -05:00
Timothy Hutchins 21d3dfca4e Implemented scheduled_executor 2023-08-06 18:28:46 -05:00
Timothy Hutchins 1230cbb5d3 Added implementation for test_utils 2023-08-06 16:39:57 -05:00
Timothy Hutchins ea13cbc237 Implemented Windows implementation compliant Linux http_loader
The `http_loader` class takes a `WebRequest` with information to send a
web request, and sends it. This uses `libcurl`, which is present from
installation on most major Linux distrobutions (e.g. Fedora, Ubuntu,
PopOS...).

If libcurl is not present on the target system, it will need to be
installed.
2023-08-04 18:13:05 -05:00
Vibhav Pant 037d8c6f38 Add additional libraries. 2023-08-03 17:17:59 +05:30
Vibhav Pant 622451436b Refactor 2023-08-03 17:14:03 +05:30
Timothy Hutchins 2539ec1610 Implemented some more Linux equivalents 2023-08-02 18:24:19 -05:00
Guogang Li 20f2291476 Added APIs to allow/prevent sleep in session manager
PiperOrigin-RevId: 552958620
2023-08-01 16:26:47 -07:00
Vibhav Pant b5ba24bc06 Add additional code for implementing BluetoothClassicMedium. 2023-08-01 18:27:05 +05:30
Vibhav Pant b5552e268c Add BluetoothServerSocket implementation. 2023-08-01 18:22:46 +05:30
Guogang Li 868d3ce046 Resolved the issue to monitor lock/unlock in platform SDK
PiperOrigin-RevId: 552655345
2023-07-31 19:13:27 -07:00
Nick Bourdakos 9d2cfc19c9 Add Objective-C++ GATT server wrapper
PiperOrigin-RevId: 552636264
2023-07-31 17:20:14 -07:00
Vibhav Pant b66e7ff735 More bluetooth medium code. 2023-07-30 02:10:58 +05:30
Nick Bourdakos c1d74120a0 Add initial BLEv2 Bluetooth Adapter
PiperOrigin-RevId: 551922301
2023-07-28 12:32:27 -07:00
Guogang Li eb5f8aed10 Fixed WI-FI hotspot stuck issue during close
PiperOrigin-RevId: 551703821
2023-07-27 18:57:27 -07:00
Nick Bourdakos 0a13ce51f4 Make GNCBLEGATTServer thread safe
Fixes an issue where if a characteristic is created and then updated with a non-nil value, and a new characteristic under the same service is added, then when the service is re-added the old characteristic will be permanently cached and the dynamic reads will stop working.

This also eliminates the issue when characteristics are created concurrently, since service additions are batched, if the service addition fails then only one of the characteristics will know that it failed to get added.

This change also introduces the nuance of "success" does not mean the CoreBluetooth method has completed successfully, but instead means that the intended state has been recorded and the class will do its best to maintain that state. For example, a successful "start advertising" call means that we have the advertisement cached and we will start advertising as soon as we can (like BT transitions from off to on) and will do our best to keep advertising (like BT transitions from on to off to on again).

PiperOrigin-RevId: 551660634
2023-07-27 15:40:30 -07:00
Janusz Sobczak 974d4b357c Skip SDP check for FP rfcomm connection on Windows
The SDP checks fails but rfcomm connection works.
Skipping the SDP check does not seem to have any ill side effects.

PiperOrigin-RevId: 551370531
2023-07-26 18:15:44 -07:00
Nick Bourdakos a42cdc7346 Move Server Socket and its dependencies to their own files
PiperOrigin-RevId: 551330682
2023-07-26 15:21:46 -07:00
Thomas Van Lenten 7e1f286d93 Don't compile utils.mm twice.
PiperOrigin-RevId: 551315072
2023-07-26 14:25:24 -07:00
Nick Bourdakos de3f638129 Extract BLE code into its own target
PiperOrigin-RevId: 551074383
2023-07-25 20:23:59 -07:00
Guogang Li 99c5e19f3f internal update
PiperOrigin-RevId: 550729573
2023-07-24 18:15:44 -07:00
Vibhav Pant f9a62a24dc Add bluetooth_adapter implementation. 2023-07-23 19:01:50 +05:30
Vibhav Pant 545646f63e Use cleanup attribute for freeing libsystemd resources. 2023-07-23 19:01:14 +05:30
Vibhav Pant 112072dbad Add additional methods for DeviceInfo. 2023-07-22 20:16:26 +05:30
Vibhav Pant af5bea6a3d Initial sketch. 2023-07-22 15:32:25 +05:30
Janusz Sobczak 225eab6505 Fix race condition in BluetoothSocket
The change is for tests only.

PiperOrigin-RevId: 550023162
2023-07-21 12:42:59 -07:00
Crisrael Lucero 0e44ed626d Refactor crypto/ directory into crypto_cros/ and crypto/
PiperOrigin-RevId: 549467911
2023-07-19 17:12:52 -07:00
Guogang Li e5fdddec6d internal update
PiperOrigin-RevId: 549461047
2023-07-19 16:43:10 -07:00
Nick Bourdakos 0f8e5283a4 Add GATT server
PiperOrigin-RevId: 549080231
2023-07-18 12:37:23 -07:00
Nick Bourdakos 96348b6ba7 Add BLE conversion utils
PiperOrigin-RevId: 547958170
2023-07-13 16:20:04 -07:00
Nick Bourdakos e0b2e176c8 Add Objective-C GATT characteristic container.
PiperOrigin-RevId: 547954006
2023-07-13 16:05:18 -07:00
Guogang Li b113f5550d Workaround for "backward reference detected" issue
PiperOrigin-RevId: 547646854
2023-07-12 17:34:04 -07:00
Guogang Li 4a71c4d2d0 Move NS implementation to third party folder
PiperOrigin-RevId: 546966492
2023-07-10 13:39:42 -07:00
Janusz Sobczak 522ac8c13e Fix threading issues in tests
The changes make thread sanitizer happy.

PiperOrigin-RevId: 546960147
2023-07-10 13:17:12 -07:00
Janusz Sobczak ca9bbd3a9c Fix several race conditions
The fixes are specific to unit test environment.

PiperOrigin-RevId: 546342096
2023-07-07 11:53:50 -07:00
Guogang Li 92a1510158 Fixed an upgrade issue
PiperOrigin-RevId: 544778015
2023-06-30 16:44:04 -07:00