RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
Public Member Functions | List of all members
rmscrypto::api::IStream Class Referenceabstract

Base interface for protected streams. More...

#include <IStream.h>

Inheritance diagram for rmscrypto::api::IStream:
rmscore::modernapi::CustomProtectedStream rmscore::modernapi::ProtectedFileStream rmscrypto::api::BlockBasedProtectedStream rmscrypto::api::ICryptoStream rmscrypto::api::SimpleProtectedStream rmscrypto::api::StdStreamAdapter

Public Member Functions

virtual std::shared_future< int64_t > ReadAsync (uint8_t *pbBuffer, int64_t cbBuffer, int64_t cbOffset, std::launch launchType)=0
 
virtual std::shared_future< int64_t > WriteAsync (const uint8_t *cpbBuffer, int64_t cbBuffer, int64_t cbOffset, std::launch launchType)=0
 
virtual std::future< bool > FlushAsync (std::launch launchType)=0
 
virtual int64_t Read (uint8_t *pbBuffer, int64_t cbBuffer)=0
 
virtual int64_t Write (const uint8_t *cpbBuffer, int64_t cbBuffer)=0
 
virtual bool Flush ()=0
 
virtual SharedStream Clone ()=0
 
virtual void Seek (uint64_t u64Position)=0
 
virtual bool CanRead () const =0
 
virtual bool CanWrite () const =0
 
virtual uint64_t Position ()=0
 
virtual uint64_t Size ()=0
 
virtual void Size (uint64_t u64Value)=0
 
virtual std::vector< uint8_t > Read (uint64_t u64size)
 

Detailed Description

Base interface for protected streams.

Ported from Windows::Storage::Streams::IRandomAccessStream and Windows::Storage::Streams::FileRandomAccessStream.

Todo:
Derive from std::iostream?

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