Kanzi 4.1.0
kanzi::IPatchHandler Class Referenceabstract

Patch handler interface. More...

#include <kanzi/kza2kzb/patch_handler.hpp>

Inheritance diagram for kanzi::IPatchHandler:
[legend]

Public Member Functions

 IPatchHandler ()=default
 Default constructor.
 
 IPatchHandler (const IPatchHandler &)=delete
 Deleted copy constructor.
 
 IPatchHandler (IPatchHandler &&)=delete
 Deleted move constructor.
 
IPatchHandleroperator= (const IPatchHandler &)=delete
 Deleted copy operator.
 
IPatchHandleroperator= (IPatchHandler &&)=delete
 Deleted move operator.
 
virtual ~IPatchHandler ()=default
 Virtual destructor.
 

Static Public Member Functions

static void handlePatch (span< const byte > data)
 Applies an incoming patch.
 
static void handlePatch (vector< byte > &&data)
 Applies an incoming patch.
 

Protected Member Functions

virtual void handlePatchOverride (span< const byte > data)=0
 Virtual patch handling function for copying the data.
 
virtual void handlePatchOverride (vector< byte > &&data)=0
 Virtual patch handling function for moving the data.
 

Static Protected Member Functions

static void setPatchHandler (IPatchHandler *patchHandler)
 Sets the patch handler.
 

Static Protected Attributes

static IPatchHandlers_patchHandler
 Static singleton (non-owning).
 

Detailed Description

Patch handler interface.

The static patch handler singleton is intentionally unsafe. Only declare one patch handler per application.

Since
Kanzi 4.1.0

Constructor & Destructor Documentation

◆ IPatchHandler() [1/3]

kanzi::IPatchHandler::IPatchHandler ( )
explicitdefault

Default constructor.

◆ ~IPatchHandler()

virtual kanzi::IPatchHandler::~IPatchHandler ( )
virtualdefault

Virtual destructor.

◆ IPatchHandler() [2/3]

kanzi::IPatchHandler::IPatchHandler ( const IPatchHandler & )
delete

Deleted copy constructor.

◆ IPatchHandler() [3/3]

kanzi::IPatchHandler::IPatchHandler ( IPatchHandler && )
delete

Deleted move constructor.

Member Function Documentation

◆ operator=() [1/2]

IPatchHandler & kanzi::IPatchHandler::operator= ( const IPatchHandler & )
delete

Deleted copy operator.

◆ operator=() [2/2]

IPatchHandler & kanzi::IPatchHandler::operator= ( IPatchHandler && )
delete

Deleted move operator.

◆ handlePatch() [1/2]

static void kanzi::IPatchHandler::handlePatch ( span< const byte > data)
inlinestatic

Applies an incoming patch.

Copies the data.

Parameters
headerHeader.
dataPatch data.

◆ handlePatch() [2/2]

static void kanzi::IPatchHandler::handlePatch ( vector< byte > && data)
inlinestatic

Applies an incoming patch.

Moves the data.

Parameters
headerHeader.
dataPatch data.

◆ handlePatchOverride() [1/2]

virtual void kanzi::IPatchHandler::handlePatchOverride ( span< const byte > data)
protectedpure virtual

Virtual patch handling function for copying the data.

Parameters
dataPatch data.

Implemented in kanzi::PatchHandler.

◆ handlePatchOverride() [2/2]

virtual void kanzi::IPatchHandler::handlePatchOverride ( vector< byte > && data)
protectedpure virtual

Virtual patch handling function for moving the data.

Parameters
dataPatch data.

Implemented in kanzi::PatchHandler.

◆ setPatchHandler()

static void kanzi::IPatchHandler::setPatchHandler ( IPatchHandler * patchHandler)
staticprotected

Sets the patch handler.

Since the singleton is non-owning, the patch handler must be a raw pointer.

Parameters
patchHandlerNew patch handler.

Member Data Documentation

◆ s_patchHandler

IPatchHandler* kanzi::IPatchHandler::s_patchHandler
staticprotected

Static singleton (non-owning).


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