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; 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 } // namespace Kernel

View file

@ -66,10 +66,17 @@ public:
/** /**
* Gets a pointer to the shared memory block * Gets a pointer to the shared memory block
* @param offset Offset from the start of the shared memory block to get pointer * @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); 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: private:
explicit SharedMemory(KernelSystem& kernel); explicit SharedMemory(KernelSystem& kernel);
~SharedMemory() override; ~SharedMemory() override;