Commit Graph

11 Commits

Author SHA1 Message Date
Lorenzo Blasa
e42db220ee Socket connect no longer synchronous and blocking
Summary:
Never really liked this code. Before this change, calls to connect were blocking.

Because of this, we had to make use of promises and a bit of really not that good-looking code.

So, this change makes connect non-blocking meaning that we make full use of our event handler.

These changes contain:
- CSR is not getting generated after each failed attempt.
- Connect is no longer blocking.
- Do not report events via the handler when explicitly disconnecting.

Reviewed By: jknoxville

Differential Revision: D46853228

fbshipit-source-id: 00e6a9c7c039a756175fe14982959e078d92bacb
2023-06-28 12:09:58 -07:00
Lorenzo Blasa
6a9d54f93a Plugin and Module implementations
Summary:
Last diff in the the RNW saga.

This change creates the necessary bridgings between the module and the plugin.

With this in place, JS plugins can be written and used. Also, we have a fully functional RNW sample app.

Reviewed By: aigoncharov

Differential Revision: D39087480

fbshipit-source-id: f4fde404716aa619a64553ffa556d060f49c0ac7
2022-09-04 12:19:26 -07:00
Lorenzo Blasa
322a1ba6b1 Initialise Flipper on module initialisation
Summary:
^

This diff brings most things together and can be considered the test platform for RNW.

With this, Flipper client gets initialised and started.

This means the application connects and is ready for debugging.

Reviewed By: antonk52

Differential Revision: D39054912

fbshipit-source-id: 94397f6a72b1e9d9c0f2f3efaf9967be525076cd
2022-09-04 12:19:26 -07:00
Lorenzo Blasa
69df1ee362 Device Info
Summary: Utility class to obtain device information.

Reviewed By: antonk52

Differential Revision: D39054479

fbshipit-source-id: 9e237e2a45cf46ceb5fb8fd8a9da5d87837e61b6
2022-09-04 12:19:26 -07:00
Lorenzo Blasa
446bb042d0 React Socket
Summary: React ws implementations

Reviewed By: antonk52

Differential Revision: D39053839

fbshipit-source-id: 7e68770c7bc4e0a0307679713a8b210bba2bbd0b
2022-09-04 12:19:26 -07:00
Lorenzo Blasa
82c06ac280 React Scheduler
Summary: Introduces a Scheduler implementation using ReactDispatcher. The scheduler is/will be used by the FlipperConnectionManager as to serialise socket operations in it.

Reviewed By: antonk52

Differential Revision: D39053301

fbshipit-source-id: 5bc2d68a753ec4be3e28533b4c29e2d6ff6d8ba0
2022-09-04 08:02:21 -07:00
Lorenzo Blasa
4b8be189ba rnw] ReactNativeFlipperExample
Summary:
This change is the direct results of doing the following:

    npx react-native-windows-init --overwrite

Notes: ignore the format warnings below. In this case, the ordering of includes does matter. Missing license is for auto-generated files, so ignore too.

Reviewed By: aigoncharov

Differential Revision: D36775215

fbshipit-source-id: 1cd00ff2bfc258c8505e97dcdbd9cb4365c4acfb
2022-08-26 08:43:30 -07:00
Lorenzo Blasa
7d936c1ff8 Flipper module skeleton
Summary: Refactor and introduce the Flipper module skeleton. No implementations yet.

Reviewed By: passy

Differential Revision: D36760620

fbshipit-source-id: 5e3f1b5abef6177f27d2c4c8e0fa8ec370364900
2022-07-14 09:57:25 -07:00
Lorenzo Blasa
7977a41fba Add flipper sources to VS Studio solution
Summary:
Nothing interesting here, just adding necessary sources from Flipper into the VS Studio solution.

As a consequence, some warnings had to be turned off as otherwise they're treated as errors and the solution doesn't build.

Reviewed By: passy

Differential Revision: D36760242

fbshipit-source-id: 2f5e615f8a465554dd35c245756f94bcace6e34a
2022-07-14 07:45:09 -07:00
Lorenzo Blasa
57e6662a46 Folly/Boost integration
Summary:
This change brings in Folly and Boost into our solution.

Boost is resolved with NuGet. Folly is resolved by re-using the RNW integration.

For reference:

Flipper depends on Folly. Folly depends on a few things:
- Boost
- FMT
- Glog
- Double-Conversion

Folly from RNW uses some stubs to resolve fmt, glog, and double-conversion. That's OK.

Only Boost needs resolving.

On Visual Studio, we can use the following package managers: NuGet and vcpkg.

Boost can be resolved using either.

Using NuGet as otherwise vcpkg needs to be run locally by anybody wanting to build the solution. NuGet makes things easier.

Reviewed By: aigoncharov

Differential Revision: D36759384

fbshipit-source-id: 31a9a398ce5c5dc2f3def02689ae4bb8c42fbb99
2022-07-14 06:59:11 -07:00
Lorenzo Blasa
551d0389ae react-native-windows library
Summary:
This change adds the template for a RNW module to the existing react-native flipper project.

Basically, the changes in this diff are the product of executing the react-native-windows init for the existing library.

See:
https://microsoft.github.io/react-native-windows/docs/getting-started

https://microsoft.github.io/react-native-windows/docs/native-modules-setup

Notes:
There's some auto-generated module code contained in this change: ReactNativeModule (.h/.cpp)

allow-large-files

Reviewed By: passy

Differential Revision: D36751772

fbshipit-source-id: 41207bedb00ea147883f6d13336ed6c1da4454d7
2022-07-14 04:19:22 -07:00