kernel/shared_memory: Add a const qualified member function overload for GetPointer()

Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
This commit is contained in:
Lioncash 2018-11-19 09:00:32 -05:00 committed by fearlessTobi
parent 1cb9bea504
commit 0f544af89a
2 changed files with 15 additions and 1 deletions

View File

@ -196,4 +196,11 @@ u8* SharedMemory::GetPointer(u32 offset) {
return backing_blocks[0].first + offset;
}
const u8* SharedMemory::GetPointer(u32 offset) const {
if (backing_blocks.size() != 1) {
LOG_WARNING(Kernel, "Unsafe GetPointer on discontinuous SharedMemory");
}
return backing_blocks[0].first + offset;
}
} // namespace Kernel

View File

@ -66,10 +66,17 @@ public:
/**
* Gets a pointer to the shared memory block
* @param offset Offset from the start of the shared memory block to get pointer
* @return Pointer to the shared memory block from the specified offset
* @return A pointer to the shared memory block from the specified offset
*/
u8* GetPointer(u32 offset = 0);
/**
* Gets a constant pointer to the shared memory block
* @param offset Offset from the start of the shared memory block to get pointer
* @return A constant pointer to the shared memory block from the specified offset
*/
const u8* GetPointer(u32 offset = 0) const;
private:
explicit SharedMemory(KernelSystem& kernel);
~SharedMemory() override;