1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#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_
|