Lunchbox  1.13.0
Multi-threaded C++ toolbox library for all application developers creating high-performance multi-threaded programs.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
lunchbox::Plugin Class Reference

Holder for all functions and information of one compression plugin DSO. More...

#include <plugin.h>

+ Inheritance diagram for lunchbox::Plugin:
+ Collaboration diagram for lunchbox::Plugin:

Public Types

Plugin function prototypes.
typedef size_t(* GetNumCompressors_t )()
 
typedef void *(* NewCompressor_t )(const unsigned)
 
typedef void(* DeleteCompressor_t )(void *const )
 
typedef void *(* NewDecompressor_t )(const unsigned)
 
typedef void(* DeleteDecompressor_t )(void *const )
 
typedef void(* Compress_t )(void *const, const unsigned, void *const, const uint64_t *, const uint64_t)
 
typedef unsigned(* GetNumResults_t )(void *const, const unsigned)
 
typedef void(* GetResult_t )(void *const, const unsigned, const unsigned, void **const, uint64_t *const )
 
typedef void(* Decompress_t )(void *const, const unsigned, const void *const *, const uint64_t *const, const unsigned, void *const, uint64_t *const, const uint64_t)
 
typedef bool(* IsCompatible_t )(const unsigned, const GLEWContext *)
 
typedef void(* Download_t )(void *const, const unsigned, const GLEWContext *, const uint64_t *, const unsigned, const uint64_t, uint64_t *, void **)
 
typedef void(* StartDownload_t )(void *const, const unsigned, const GLEWContext *, const uint64_t *, const unsigned, const uint64_t)
 
typedef void(* FinishDownload_t )(void *const, const unsigned, const GLEWContext *, const uint64_t *, const uint64_t, uint64_t *, void **)
 
typedef void(* Upload_t )(void *const, const unsigned, const GLEWContext *, const void *, const uint64_t *, const uint64_t, const uint64_t *, const unsigned)
 

Public Member Functions

 Plugin (const std::string &libraryName)
 Construct and initialize a new plugin DSO. More...
 
virtual ~Plugin ()
 Destruct this plugin handle. More...
 
Data Access.
bool isGood () const
 
VisitorResult accept (PluginVisitor &visitor)
 Visit all compressors. More...
 
VisitorResult accept (ConstPluginVisitor &visitor) const
 Visit all compressors. More...
 
bool implementsType (const uint32_t name) const
 
EqCompressorInfo findInfo (const uint32_t name) const
 
const CompressorInfos & getInfos () const
 
- Public Member Functions inherited from lunchbox::DSO
 DSO ()
 Construct a new dynamic shared object. More...
 
 DSO (const std::string &name)
 Construct and initialize a dynamic shared object. More...
 
 ~DSO ()
 Destruct this DSO handle. More...
 
bool open (const std::string &fileName)
 Open a dynamic shared object. More...
 
void close ()
 Close the DSO, invalidates retrieved function pointers. More...
 
void * getFunctionPointer (const std::string &functionName) const
 
template<class F >
getFunctionPointer (const std::string &func) const
 
bool isOpen () const
 
bool operator== (const DSO &rhs) const
 
bool operator!= (const DSO &rhs) const
 

Public Attributes

Plugin function pointers.
GetNumCompressors_t const getNumCompressors
 Get the number of engines found in the plugin. More...
 
NewCompressor_t const newCompressor
 Get a new compressor instance. More...
 
NewDecompressor_t const newDecompressor
 Get a new decompressor instance. More...
 
DeleteCompressor_t const deleteCompressor
 Delete the compressor instance. More...
 
DeleteDecompressor_t const deleteDecompressor
 Delete the decompressor instance. More...
 
Compress_t const compress
 Compress data. More...
 
Decompress_t const decompress
 Decompress data. More...
 
GetNumResults_t const getNumResults
 Get the number of results from the last compression. More...
 
GetResult_t const getResult
 Get the nth result from the last compression. More...
 
IsCompatible_t const isCompatible
 Check if the transfer plugin can be used. More...
 
Download_t const download
 Download pixel data. More...
 
Upload_t const upload
 Upload pixel data. More...
 
StartDownload_t const startDownload
 Start downloading pixel data. More...
 
FinishDownload_t const finishDownload
 Start downloading pixel data. More...
 

Detailed Description

Holder for all functions and information of one compression plugin DSO.

Example:

Definition at line 38 of file plugin.h.

Constructor & Destructor Documentation

lunchbox::Plugin::Plugin ( const std::string &  libraryName)
explicit

Construct and initialize a new plugin DSO.

Version
1.7.1
virtual lunchbox::Plugin::~Plugin ( )
virtual

Destruct this plugin handle.

Version
1.7.1

Member Function Documentation

VisitorResult lunchbox::Plugin::accept ( PluginVisitor visitor)

Visit all compressors.

Version
1.7.1
VisitorResult lunchbox::Plugin::accept ( ConstPluginVisitor visitor) const

Visit all compressors.

Version
1.7.1
bool lunchbox::Plugin::isGood ( ) const
Returns
true if the plugin is usable.
Version
1.7.1

Member Data Documentation

Compress_t const lunchbox::Plugin::compress

Compress data.

Version
1.7.1

Definition at line 124 of file plugin.h.

Decompress_t const lunchbox::Plugin::decompress

Decompress data.

Version
1.7.1

Definition at line 127 of file plugin.h.

DeleteCompressor_t const lunchbox::Plugin::deleteCompressor

Delete the compressor instance.

Version
1.7.1

Definition at line 118 of file plugin.h.

DeleteDecompressor_t const lunchbox::Plugin::deleteDecompressor

Delete the decompressor instance.

Version
1.7.1

Definition at line 121 of file plugin.h.

Download_t const lunchbox::Plugin::download

Download pixel data.

Version
1.7.1

Definition at line 139 of file plugin.h.

FinishDownload_t const lunchbox::Plugin::finishDownload

Start downloading pixel data.

Version
1.7.1

Definition at line 148 of file plugin.h.

GetNumCompressors_t const lunchbox::Plugin::getNumCompressors

Get the number of engines found in the plugin.

Version
1.7.1

Definition at line 109 of file plugin.h.

GetNumResults_t const lunchbox::Plugin::getNumResults

Get the number of results from the last compression.

Version
1.7.1

Definition at line 130 of file plugin.h.

GetResult_t const lunchbox::Plugin::getResult

Get the nth result from the last compression.

Version
1.7.1

Definition at line 133 of file plugin.h.

IsCompatible_t const lunchbox::Plugin::isCompatible

Check if the transfer plugin can be used.

Version
1.7.1

Definition at line 136 of file plugin.h.

NewCompressor_t const lunchbox::Plugin::newCompressor

Get a new compressor instance.

Version
1.7.1

Definition at line 112 of file plugin.h.

NewDecompressor_t const lunchbox::Plugin::newDecompressor

Get a new decompressor instance.

Version
1.7.1

Definition at line 115 of file plugin.h.

StartDownload_t const lunchbox::Plugin::startDownload

Start downloading pixel data.

Version
1.7.1

Definition at line 145 of file plugin.h.

Upload_t const lunchbox::Plugin::upload

Upload pixel data.

Version
1.7.1

Definition at line 142 of file plugin.h.


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