frameworks/native/libs/vr/libpdx/private/pdx/message_reader.h

39 lines
970 B
C
Raw Normal View History

2025-08-25 08:17:13 +08:00
#ifndef ANDROID_PDX_MESSAGE_READER_H_
#define ANDROID_PDX_MESSAGE_READER_H_
#include <memory>
#include <pdx/channel_handle.h>
#include <pdx/file_handle.h>
namespace android {
namespace pdx {
class InputResourceMapper {
public:
virtual bool GetFileHandle(FileReference ref, LocalHandle* handle) = 0;
virtual bool GetChannelHandle(ChannelReference ref,
LocalChannelHandle* handle) = 0;
protected:
virtual ~InputResourceMapper() = default;
};
class MessageReader {
public:
// Pointers to start/end of the region in the read buffer.
using BufferSection = std::pair<const void*, const void*>;
virtual BufferSection GetNextReadBufferSection() = 0;
virtual void ConsumeReadBufferSectionData(const void* new_start) = 0;
virtual InputResourceMapper* GetInputResourceMapper() = 0;
protected:
virtual ~MessageReader() = default;
};
} // namespace pdx
} // namespace android
#endif // ANDROID_PDX_MESSAGE_READER_H_