13 namespace signal_monitor {
15 constexpr uint64_t encodeKey(uint32_t code, uint32_t subsystem) {
16 return (
static_cast<uint64_t
> (code) << (
sizeof(code) * 8)) + subsystem;
19 constexpr
void decodeKey(
const uint64_t& key, uint32_t* code,
20 uint32_t* subsystem) {
21 *code =
static_cast<uint32_t
>((key >> (
sizeof(*code) * 8)) & 0xffffffff);
22 *subsystem =
static_cast<uint32_t
>(key & 0xffffffff);
32 SignalId(uint32_t code, uint32_t subsystem);
34 SignalId(uint32_t code, uint32_t subsystem,
const uint32_t* info);
36 uint64_t getKey()
const;
38 uint32_t getCode()
const;
40 uint32_t getSubsystem()
const;
42 bool hasSubsystem()
const;
44 uint32_t getInfo()
const;
46 const uint32_t* getInfoPtr()
const;
56 const uint32_t* info_;