tree a52f6b46cb9a48f7ae7b26865600066f0c42a7e5
parent f289c65f70df01be245148493a0abec965a907a8
author Patrick Williams <patrick@stwcx.xyz> 1661684390 -0500
committer Patrick Williams <patrick@stwcx.xyz> 1661716669 -0500

message: set 'get' as const

Since 'get' is simply a wrapper around the unique_ptr::get call
there is no reason it cannot be const.  Without it being const
it requires lambda functions that use messages to all be 'mutable'
even though there are cases where they might not need to be.

Without this change, the following lambda would have a needless
'mutable':
```
  [bus = get_busp(ctx.get_bus()),
   msg = std::move(msg)](auto cb, auto data) {
      return sd_bus_call_async(bus, nullptr, msg.get(), cb, data, 0);
  }
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ic7501e5e84f8a7ba230edf873ceb851548313bc4
