CryptoStream

CryptoStream class

Stream implementation that wraps existing stream with a cryptographic function. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

class CryptoStream : public System::IO::Stream

Methods

MethodDescription
virtual System::SharedPtr<System::IAsyncResult> BeginRead(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Initiates an asynchronous read operation.
virtual System::SharedPtr<System::IAsyncResult> BeginWrite(System::ArrayPtr<uint8_t>, int, int, System::AsyncCallback, System::SharedPtr<System::Object>)Initiates an asynchronous write operation.
void Close() overrideCloses connection.
void CopyTo(const SharedPtr<Stream>&)Copies bytes to the specified stream.
void CopyTo(const SharedPtr<Stream>&, int32_t)Copies bytes to the specified stream, using the specified buffer size.
CryptoStream(const SharedPtr<System::IO::Stream>&, const SharedPtr<ICryptoTransform>&, CryptoStreamMode)Constructor.
void Dispose() overrideReleases all resources used by the current object and closes the stream.
virtual int EndRead(System::SharedPtr<System::IAsyncResult>)Waits until the specified asynchronous read operation completes.
virtual void EndWrite(System::SharedPtr<System::IAsyncResult>)Ends an asynchronous write operation. Waits until the specified asynchronous write operation completes.
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
void Flush() overrideEmpties buffer into wrapped stream. Does nothing as transform algorithm can be still waiting for more data.
void FlushFinalBlock()Writes the data which is still in the buffer to stream.
bool get_CanRead() const overrideChecks if stream is readable.
bool get_CanSeek() const overrideChecks if stream is seekable.
virtual bool get_CanTimeout() constGets a value that determines whether the current stream can time out.
bool get_CanWrite() const overrideChecks if stream is writable.
int64_t get_Length() const overrideGets length of stream. Not supported.
int64_t get_Position() const overrideGets current position in stream. Not supported.
virtual int get_ReadTimeout() constGets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
virtual int get_WriteTimeout() constGets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
int32_t Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideReads data from stream.
int32_t Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideReads data from stream.
int32_t Read(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Reads the specified number of bytes from the stream and writes them to the specified byte array.
virtual int ReadByte()Reads a single byte from the stream and returns a 32-bit integer value equivalent to the value of the read byte.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
int64_t Seek(int64_t, IO::SeekOrigin) overrideSeeks position in stream. Not supported.
void set_Position(int64_t) overrideSeeks position in stream. Not supported.
virtual void set_ReadTimeout(int)Sets a value that determines whether the current stream can time out.
virtual void set_WriteTimeout(int)Sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
void SetLength(int64_t) overrideSeeks size of stream. Not supported.
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideWrites data to stream.
void Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideWrites data to stream.
void Write(const System::Details::StackArray<uint8_t, N>&, int32_t, int32_t)Writes the specified subrange of bytes from the specified byte array to the stream.
virtual void WriteByte(uint8_t)Writes the specified unsigned 8-bit integer value to the stream.
virtual ~Object()Destroys object. Frees all internal data structures.

Fields

FieldDescription
static NullA stream with no underlying storage.

See Also