Skip to main content
Pigweed's logo Pigweed
code_xml
  1. Home
  2. Reference
  3. C/C++
  4. Comms
  5. pw_transfer
  6. pw::transfer::ReadOnlyHandler Class Reference
Loading...
Searching...
No Matches
pw::transfer::ReadOnlyHandler Class Reference

Overview

A Handler that only supports read transfers (PrepareWrite returns \ref pw::Status::PermissionDenied() "PERMISSION_DENIED").

Inheritance diagram for pw::transfer::ReadOnlyHandler:
pw::transfer::Handler pw::IntrusiveForwardList< T >::Item pw::trace::TraceTransferHandler

Public Member Functions

constexpr ReadOnlyHandler (uint32_t resource_id)
 
constexpr ReadOnlyHandler (uint32_t resource_id, stream::Reader &reader)
 
Status PrepareRead () override
 
Status PrepareWrite () final
 
void set_reader (stream::Reader &reader)
 
- Public Member Functions inherited from pw::transfer::Handler
constexpr uint32_t id () const
 
virtual Status PrepareRead ()=0
 
virtual Status PrepareRead (uint32_t offset)
 
virtual void FinalizeRead (Status status)
 
virtual Status PrepareWrite ()=0
 
virtual Status PrepareWrite (uint32_t offset)
 
virtual Status FinalizeWrite (Status status)
 
virtual size_t ResourceSize () const
 
virtual Status GetStatus (uint64_t &readable_offset, uint64_t &writeable_offset, uint64_t &read_checksum, uint64_t &write_checksum)
 

Additional Inherited Members

- Protected Member Functions inherited from pw::transfer::Handler
constexpr Handler (uint32_t resource_id, stream::Reader *reader)
 
constexpr Handler (uint32_t resource_id, stream::Writer *writer)
 
void set_reader (stream::Reader &reader)
 
void set_writer (stream::Writer &writer)
 
- Protected Member Functions inherited from pw::IntrusiveForwardList< T >::Item
constexpr Item ()=default
 

Constructor & Destructor Documentation

◆ ReadOnlyHandler() [1/2]

constexpr pw::transfer::ReadOnlyHandler::ReadOnlyHandler ( uint32_t  resource_id)
inlineconstexpr

Constructs a ReadOnlyHandler whose reader will be set later (for example in PrepareRead()).

Parameters
[in]resource_idUnique ID of the transferable resource.

◆ ReadOnlyHandler() [2/2]

constexpr pw::transfer::ReadOnlyHandler::ReadOnlyHandler ( uint32_t  resource_id,
stream::Reader &  reader 
)
inlineconstexpr

Constructs a ReadOnlyHandler backed by reader.

Parameters
[in]resource_idUnique ID of the transferable resource.
[in]readerStream from which transfer data will be read.

Member Function Documentation

◆ PrepareRead()

Status pw::transfer::ReadOnlyHandler::PrepareRead ( )
inlineoverridevirtual

Prepares for a read transfer. Defaults to returning \ref pw::OkStatus() "OK".

Returns
  • OK: The handler is ready for reading.

Implements pw::transfer::Handler.

◆ PrepareWrite()

Status pw::transfer::ReadOnlyHandler::PrepareWrite ( )
inlinefinalvirtual

Rejects write transfers.

Returns

Implements pw::transfer::Handler.

◆ set_reader()

void pw::transfer::Handler::set_reader ( stream::Reader &  reader)
inline

Sets the pw::stream::Reader used by this handler.

Parameters
[in]readerStream from which transfer data will be read.

The documentation for this class was generated from the following file: