CopperSpice API  1.8.1
List of Plugins

There are multiple plugin base classes and each one has a corresponding directory name where the generated plugin will reside at run time. The following table summarizes the interfaces associated with each base class. If the Base Class does not have a link then this class is private and should not be inherited from. The class should only be used by the internal CopperSpice plugins.

The following table contains the file names of the CopperSpice plugins and their default locations. At run time a given plugin must be located in the listed directory unless it has been overridden by a cs.conf configuration file.

Interface CopperSpice Plugins (.so and .dll files) Default Directory Documentation Base Class
GUI Platform CsGuiXcb
CsGuiWin
CsGuiCocoa
/platforms Platform Support QPlatformIntegrationPlugin
Printer Support CsPrinterDriverCups
CsPrinterDriverWin
/printerdrivers Printer Support QPlatformPrinterSupportPlugin
XCB OpenGL CsGuiXcb_Glx /xcbglintegrations QXcbGlIntegration
Multimedia Player CsMultimedia_gst_audiodecoder, CsMultimedia_gst_mediaplayer
CsMultimedia_DirectShow
CsMultimedia_avf_mediaplayer
/mediaservices Multimedia QMediaServiceProviderPlugin
Playlist Formats CsMultimedia_m3u /playlistformats Multimedia QMediaPlaylistPlugin
Icon Engines /iconengines Icons, Images, and Pictures QIconEnginePlugin
Image Formats CsImageFormatsSvg /imageformats Icons, Images, and Pictures QImageIOPlugin
Picture Formats /pictureformats Icons, Images, and Pictures QPictureFormatPlugin
SQL Support CsSqlPsql, CsSqlMySql /sqldrivers SQL Concepts QSqlDriverPlugin

Deploying Plugins

CMake macros are provided by CopperSpice to simplify the process of deploying plugins. Calling cs_copy_plugin() may install any number of plugin files, depending on your platform.

// installs the platform Gui plugins
cs_copy_plugins(CsGui)
// installs the platform Printer driver plugin
cs_copy_plugins(CsPrinterDriver)
// installs the platform Multimedia plugins
cs_copy_plugins(CsMultimedia)
// installs the OpenGL plugin
cs_copy_plugins(CsOpenGL)
// installs the MySQL/MariaDB plugin
cs_copy_plugins(CsSqlMySql)
// installs the PostgreSQL plugin
cs_copy_plugins(CsSqlPsql)
// installs the plugin for loading SVG images
cs_copy_plugins(CsImageFormatsSvg)