Generalize the FD event seam to an FdEvent enum

More PLDM lifecycle events are coming (cancel, transfer/verify/apply
complete, activate). Replace UpdateEventSink's per-event method with a
non_exhaustive FdEvent enum and a single FdEventSink::notify, so new
events are one variant instead of a trait break.

Every variant payload stays Copy and lifetime-free: across the DSP0267
FD surface the orchestrator-relevant edges carry only small integers;
buffer-shaped data (image chunks, package data, version strings) lands
behind FdOps and events name it instead of carrying it.

UpdateRequested is the only variant for now. The adapter latch keeps
its semantics and drops unmapped events.

Signed-off-by: Christina Quast <christina.quast@9elements.com>
3 files changed
tree: 95120d11acc3024a06cea2e040bf5af9e4ccace1
  1. .github/
  2. docs/
  3. drivers/
  4. hal/
  5. openprot/
  6. platform/
  7. presubmit/
  8. services/
  9. target/
  10. third_party/
  11. tools/
  12. util/
  13. .bazelignore
  14. .bazelrc
  15. .bazelversion
  16. .clang-format
  17. .gitignore
  18. .semgrepignore
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. pw
  25. README.md
  26. rust-toolchain.toml
  27. workflows.json
README.md

OpenPRoT

Technical Charter

The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md

Getting Started

NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.

Available Tasks

You can run tasks using the Pigweed workflow launcher pw or bazel.

  • ./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy.
  • ./pw format - Run the code formatters.
  • bazel test //... - Run all tests.
  • bazel build //docs - Build documentation.

Development

The project is structured as a bazel module.

Requirements

  • Bazel. We recommend installing bazelisk to automatically manage bazel versions.

No additional tools are required - all dependencies are managed by bazel.