#ifndef ANDROID_PDX_MESSAGE_READER_H_ #define ANDROID_PDX_MESSAGE_READER_H_ #include #include #include 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; 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_