Cipherpack v1.2.0-dirty
A Cryprographic Stream Processor
Public Member Functions | List of all members
JNICipherpackListener Class Reference
Inheritance diagram for JNICipherpackListener:
Collaboration diagram for JNICipherpackListener:

Public Member Functions

 JNICipherpackListener (JNIEnv *env, jobject cpListenerObj)
 
 ~JNICipherpackListener () override
 
bool contentProcessed (const bool decrypt_mode, const content_type ctype, cipherpack::secure_vector< uint8_t > &data, const bool is_final) noexcept override
 User callback to receive the actual processed content, either the generated cipherpack or plaintext content depending on decrypt_mode. More...
 
bool getSendContent (const bool decrypt_mode) const noexcept override
 User provided information whether process shall send the processed content via contentProcessed() or not. More...
 
void notifyEnd (const bool decrypt_mode, const cipherpack::PackHeader &header) noexcept override
 User notification of successful completion. More...
 
void notifyError (const bool decrypt_mode, const cipherpack::PackHeader &header, const std::string &msg) noexcept override
 User notification about an error via text message and preliminary PackHeader. More...
 
bool notifyHeader (const bool decrypt_mode, const cipherpack::PackHeader &header) noexcept override
 User notification of preliminary PackHeader w/o optional hash of the plaintext message. More...
 
bool notifyProgress (const bool decrypt_mode, const uint64_t plaintext_size, const uint64_t bytes_processed) noexcept override
 User notification about content streaming progress. More...
 
std::string toString () const noexcept override
 
- Public Member Functions inherited from cipherpack::CipherpackListener
 ~CipherpackListener () noexcept override
 
virtual bool contentProcessed (const bool decrypt_mode, const content_type ctype, cipherpack::secure_vector< uint8_t > &data, const bool is_final) noexcept
 User callback to receive the actual processed content, either the generated cipherpack or plaintext content depending on decrypt_mode. More...
 
std::string get_java_class () const noexcept override
 
virtual bool getSendContent (const bool decrypt_mode) const noexcept
 User provided information whether process shall send the processed content via contentProcessed() or not. More...
 
virtual void notifyEnd (const bool decrypt_mode, const PackHeader &header) noexcept
 User notification of successful completion. More...
 
virtual void notifyError (const bool decrypt_mode, const PackHeader &header, const std::string &msg) noexcept
 User notification about an error via text message and preliminary PackHeader. More...
 
virtual bool notifyHeader (const bool decrypt_mode, const PackHeader &header) noexcept
 User notification of preliminary PackHeader w/o optional hash of the plaintext message. More...
 
virtual bool notifyProgress (const bool decrypt_mode, const uint64_t plaintext_size, const uint64_t bytes_processed) noexcept
 User notification about content streaming progress. More...
 
bool operator!= (const CipherpackListener &rhs) const noexcept
 
virtual bool operator== (const CipherpackListener &rhs) const noexcept
 Default comparison operator, merely testing for same memory reference. More...
 
std::string toString () const noexcept override
 

Additional Inherited Members

- Public Types inherited from cipherpack::CipherpackListener
enum class  content_type : uint8_t { header = 0 , message = 1 }
 
- Static Public Member Functions inherited from cipherpack::CipherpackListener
static std::string java_class () noexcept
 

Detailed Description

Definition at line 43 of file CipherpackListener.cxx.

Constructor & Destructor Documentation

◆ ~JNICipherpackListener()

JNICipherpackListener::~JNICipherpackListener ( )
inlineoverride

Definition at line 63 of file CipherpackListener.cxx.

◆ JNICipherpackListener()

JNICipherpackListener::JNICipherpackListener ( JNIEnv *  env,
jobject  cpListenerObj 
)
inline

Definition at line 67 of file CipherpackListener.cxx.

Member Function Documentation

◆ toString()

std::string JNICipherpackListener::toString ( ) const
inlineoverridenoexcept

Definition at line 59 of file CipherpackListener.cxx.

◆ notifyError()

void JNICipherpackListener::notifyError ( const bool  decrypt_mode,
const cipherpack::PackHeader header,
const std::string &  msg 
)
inlineoverridevirtualnoexcept

User notification about an error via text message and preliminary PackHeader.

This message will be send without a subsequent notifyHeader() or notifyEnd() to indicate an error and hence aborts processing.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
headerthe preliminary PackHeader
msgthe error message

Reimplemented from cipherpack::CipherpackListener.

Definition at line 90 of file CipherpackListener.cxx.

◆ notifyHeader()

bool JNICipherpackListener::notifyHeader ( const bool  decrypt_mode,
const cipherpack::PackHeader header 
)
inlineoverridevirtualnoexcept

User notification of preliminary PackHeader w/o optional hash of the plaintext message.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
headerthe preliminary PackHeader
Returns
true to continue processing (default), false to abort.

Reimplemented from cipherpack::CipherpackListener.

Definition at line 104 of file CipherpackListener.cxx.

◆ notifyProgress()

bool JNICipherpackListener::notifyProgress ( const bool  decrypt_mode,
const uint64_t  plaintext_size,
const uint64_t  bytes_processed 
)
inlineoverridevirtualnoexcept

User notification about content streaming progress.

In case contentProcessed() gets called, notifyProgress() is called thereafter.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
plaintext_sizethe plaintext message size, zero if not determined yet
bytes_processedthe number of unencrypted bytes processed
Returns
true to continue processing (default), false to abort.
See also
contentProcessed()

Reimplemented from cipherpack::CipherpackListener.

Definition at line 117 of file CipherpackListener.cxx.

◆ notifyEnd()

void JNICipherpackListener::notifyEnd ( const bool  decrypt_mode,
const cipherpack::PackHeader header 
)
inlineoverridevirtualnoexcept

User notification of successful completion.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
headerthe final PackHeader

Reimplemented from cipherpack::CipherpackListener.

Definition at line 129 of file CipherpackListener.cxx.

◆ getSendContent()

bool JNICipherpackListener::getSendContent ( const bool  decrypt_mode) const
inlineoverridevirtualnoexcept

User provided information whether process shall send the processed content via contentProcessed() or not.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
Returns
true if process shall call contentProcessed(), otherwise false (default)
See also
contentProcessed()

Reimplemented from cipherpack::CipherpackListener.

Definition at line 141 of file CipherpackListener.cxx.

◆ contentProcessed()

bool JNICipherpackListener::contentProcessed ( const bool  decrypt_mode,
const content_type  ctype,
cipherpack::secure_vector< uint8_t > &  data,
const bool  is_final 
)
inlineoverridevirtualnoexcept

User callback to receive the actual processed content, either the generated cipherpack or plaintext content depending on decrypt_mode.

This callback is only enabled if getSendContent() returns true.

In case contentProcessed() gets called, notifyProgress() is called thereafter.

Parameters
decrypt_modetrue if sender is decrypting, otherwise sender is encrypting
ctypecontent_type of passed data. Always content_type::message if decrypt_mode is true.
datathe processed content, either the generated cipherpack or plaintext content depending on decrypt_mode.
is_finaltrue if this is the last content call, otherwise false
Returns
true to continue processing (default), false to abort.
See also
getSendContent()

Reimplemented from cipherpack::CipherpackListener.

Definition at line 152 of file CipherpackListener.cxx.


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