Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Release version 0.4.00.4.0 | Richard Hughes | 2022-09-12 | 1 | -0/+18 |
| | |||||
* | Allow emulating failed events | Richard Hughes | 2022-09-12 | 5 | -0/+80 |
| | | | | | This is required to emulate devices that just reset (without completing the current transfer) when asked to reset. | ||||
* | Do not copy event data when not-required | Richard Hughes | 2022-09-10 | 1 | -3/+48 |
| | | | | | This will prevent crashes if the caller is casting from a const buffer to a mutable buffer. | ||||
* | trivial: Be more careful with buffers in case the usb.ids file format changes | Richard Hughes | 2022-09-09 | 1 | -1/+4 |
| | |||||
* | Ignore usb.ids classes, subclasses and protocols | Richard Hughes | 2022-09-09 | 1 | -0/+4 |
| | |||||
* | Fix loading events using _g_usb_device_event_load() | Richard Hughes | 2022-09-09 | 1 | -1/+1 |
| | |||||
* | trivial: Ignore -Wgnu-variable-sized-type-not-at-end | Richard Hughes | 2022-09-09 | 1 | -0/+1 |
| | | | | There's literally nothing we can do about it. | ||||
* | trivial: Fix two -Wunused-variable warnings | Richard Hughes | 2022-09-09 | 1 | -0/+4 |
| | |||||
* | trivial: Fix the ColorMunki self tests | Richard Hughes | 2022-09-09 | 1 | -4/+3 |
| | | | | PVS: Converting type 'gssize' to type 'gboolean' can lead to a loss of high-order bits. | ||||
* | Save device events when required | Richard Hughes | 2022-09-08 | 10 | -7/+816 |
| | | | | | | This allows us to simulate an entire context of devices, simulating responses as if the hardware is connected. This allows building rich device-specific unit tests in programs like fwupd, without having to have the hardware attached. | ||||
* | trivial: Update the ColorHug test to reflect reality | Richard Hughes | 2022-09-06 | 1 | -1/+1 |
| | |||||
* | trivial: Ignore more requests when emulating a device | Richard Hughes | 2022-09-06 | 1 | -0/+20 |
| | |||||
* | trivial: Use a unique JSON key name for the ID | Richard Hughes | 2022-09-06 | 1 | -4/+5 |
| | |||||
* | trivial: Use a boolean flag for cache control | Richard Hughes | 2022-09-06 | 1 | -2/+10 |
| | | | | There's no point keep asking the device for BOS descriptors when it has none. | ||||
* | trivial: Check the handle before getting BOS descriptors | Richard Hughes | 2022-09-06 | 1 | -0/+4 |
| | |||||
* | trivial: Fix clang-tidy ordering issue | Richard Hughes | 2022-09-06 | 1 | -1/+1 |
| | |||||
* | trivial: Fix up some docgen headers | Richard Hughes | 2022-09-06 | 2 | -25/+1 |
| | |||||
* | Skip some functionality when emulating | Richard Hughes | 2022-09-05 | 1 | -0/+12 |
| | |||||
* | Include the platform ID in the JSON file | Richard Hughes | 2022-09-05 | 1 | -0/+10 |
| | |||||
* | Serialize the GUsbDevice to and from JSON format | Richard Hughes | 2022-09-05 | 21 | -13/+722 |
| | | | | This allows us to write tests that mock up entire devices. | ||||
* | Cache the list of interfaces and descriptors | Richard Hughes | 2022-09-05 | 3 | -94/+104 |
| | | | | | This can speed up device enumeration, and also allows us to emulate the interfaces or descriptors in the future. | ||||
* | trivial: Use @self for instance data | Richard Hughes | 2022-09-05 | 10 | -482/+471 |
| | |||||
* | Use G_DECLARE_DERIVABLE_TYPE to reduce boilerplate | Richard Hughes | 2022-09-05 | 10 | -217/+190 |
| | |||||
* | trivial: Use @self for instance data | Richard Hughes | 2022-09-04 | 4 | -115/+114 |
| | |||||
* | Reformat the code using clang-format | Richard Hughes | 2022-09-04 | 29 | -2197/+2169 |
| | | | | | This frees up mental energy when reviewing patches and is something I should have done a long time ago. | ||||
* | Add support for getting BOS descriptors | Richard Hughes | 2022-09-04 | 8 | -0/+275 |
| | |||||
* | Use g_autoptr() in a lot more places | Richard Hughes | 2022-09-04 | 4 | -281/+155 |
| | | | | We started using this several months ago and nobody even noticed. | ||||
* | trivial: post release version bump | Richard Hughes | 2022-08-14 | 2 | -6/+6 |
| | |||||
* | trivial: Fix a docs warning when building | Richard Hughes | 2022-06-16 | 1 | -1/+1 |
| | |||||
* | trivial: Fix case of single-line comments | Richard Hughes | 2022-06-16 | 1 | -12/+12 |
| | |||||
* | trivial: Use SPDX-License-Identifier in one more place | Richard Hughes | 2022-06-16 | 1 | -12/+1 |
| | |||||
* | trivial: Remove some duplicate header includes | Richard Hughes | 2022-06-16 | 11 | -20/+0 |
| | |||||
* | Only include the start year in the copyright header | Richard Hughes | 2022-06-16 | 11 | -11/+11 |
| | | | | | The end year is legally and functionally redundant, and more importantly causes cherry-pick conflicts when trying to maintain old branches. | ||||
* | gusb: Add some umockdev based tests | Benjamin Berg | 2022-06-15 | 4 | -1/+231 |
| | | | | The primary purpose for this is to test the hotplug codepaths. | ||||
* | Never dispatch idle events after the context has been destroyed | Richard Hughes | 2022-06-15 | 1 | -12/+37 |
| | | | | | Also, reduce the number of idle sources by batching them up as much as possible. | ||||
* | Release version 0.3.100.3.10 | Richard Hughes | 2022-01-10 | 1 | -0/+7 |
| | |||||
* | trivial: Remove the '1:1 already exists' debug lines on rescan | Richard Hughes | 2022-01-06 | 1 | -3/+1 |
| | |||||
* | Add API to change the hotplug poll interval | Richard Hughes | 2022-01-06 | 3 | -3/+79 |
| | |||||
* | trivial: post release version bump | Richard Hughes | 2021-12-07 | 2 | -6/+6 |
| | |||||
* | Release version 0.3.90.3.9 | Richard Hughes | 2021-12-07 | 1 | -0/+9 |
| | |||||
* | trivial: Sync spec file with downstream | Richard Hughes | 2021-12-07 | 1 | -3/+1 |
| | |||||
* | trivial: Fix FreeBSD CI | Richard Hughes | 2021-12-07 | 1 | -2/+2 |
| | |||||
* | Fix hotplug after threaded device removal | Richard Hughes | 2021-12-07 | 1 | -1/+1 |
| | | | | Somehow this worked when we unref'd the context but did not ref it. | ||||
* | Fix version script check for GNU BFD linker on FreeBSD | Ting-Wei Lan | 2021-10-10 | 2 | -2/+10 |
| | | | | | | | | | | | | | | | | | | On FreeBSD, symbols 'environ' and ' __progname' are defined in crt1.o and referenced by libc.so. This makes it different from platforms which define 'environ' in libc.so. GNU BFD linker fails to link an executable if these two symbols are not put into the global section of the version script because a shared library should not reference a local symbol defined in a different object file. GNU gold and LLVM LLD don't have the problem. This means the current check for --version-script fails on FreeBSD when GNU BFD linker is used. The failure can be avoided by linking a shared library instead of an executable, but meson doesn't support passing additional arguments to the compiler in its 'has_link_argument' method. Instead of adding these two unused symbols to the real version script, use a smaller version script specifically made for the test. | ||||
* | Don't hard-code the list of OS supporting --version-script | Ting-Wei Lan | 2021-10-10 | 1 | -2/+3 |
| | | | | | Instead of keeping a list of OS in the build file, it should be better to run a check to determine if it is supported by the linker. | ||||
* | trivial: post release version bump | Richard Hughes | 2021-10-06 | 2 | -5/+5 |
| | |||||
* | Release version 0.3.80.3.8 | Richard Hughes | 2021-10-06 | 1 | -0/+11 |
| | |||||
* | trivial: No longer require vala-tools to build the vapi | Richard Hughes | 2021-10-05 | 1 | -1/+0 |
| | |||||
* | trivial: Rename the master branch to main | Richard Hughes | 2021-10-05 | 1 | -2/+2 |
| | |||||
* | context: Fix hotplug handling and signal emission during enumerate | Benjamin Berg | 2021-10-05 | 1 | -50/+56 |
| | | | | | | | | | | | | | | | | | | | | | | Initial device enumeration may happen in a random order. This causes issues if someone calls g_usb_device_get_parent from the "device-added" signal handler. The problem is. that this will cause an infinite recursion as GUsb tries to enumerate again, which results in the device to be added. Also, the order of devices is random and resolving the parent requires the full list of devices. As such, we should delay emission until the internal array has been filled. To fix this, emit the signals from g_usb_context_enumerate. Also, while changing this, it became obvious that libusb hotplug callback is updating priv->devices from the libusb thread, only pushing it to an idle handler when the signal is emitted. Doing this is unsafe if hotplug events arrive during enumeration. Push libusb event into the mainloop immediately in order to process it. Doing means that any libusb hotplug events arriving during g_usb_context_enumerate will be handled after the function has returned. Making all possible corner cases behave correctly. |