OBT::PluginInformation Class Reference

Information class about a plugin. More...

#include <OBTPluginInformation.h>

Collaboration diagram for OBT::PluginInformation:
[legend]

List of all members.

Public Member Functions

 PluginInformation (const char *pluginName, const char *description, unsigned int majorVersion, unsigned int minorVersion, const char *versionLabel, const char *releaseDate)
 Constructor.
virtual ~PluginInformation ()
 Destructor.
const char * getPluginName () const
 Get the name of the plugin.
const char * getDescription () const
 Get the description of the plugin.
unsigned int getMajorVersion () const
 Get the major part of the plugin version number.
unsigned int getMinorVersion () const
 Get the minor part of the plugin version number.
const char * getVersionLabel () const
 Get the label of the plugin version.
const char * getReleaseDate () const
 Get the release date (in a string form).
bool operator< (const PluginInformation &pluginInformation) const
 less operator.
bool operator== (const PluginInformation &pluginInformation) const
 comparison operator.
bool operator!= (const PluginInformation &pluginInformation) const
 comparison operator.
const char * getCString () const
 C-string conversion method.

Static Public Attributes

static const PluginInformation Unknown
 "unknown" definition for missing plugin information

Private Attributes

std::string _pluginName
 name of the plugin
std::string _description
 description of the plugin
unsigned int _majorVersion
 major part of the plugin version number
unsigned int _minorVersion
 minor part of the plugin version number
std::string _versionLabel
 label of the plugin version
std::string _releaseDate
 date of plugin release

Detailed Description

Information class about a plugin.

Author:
Michaël Rouillé <michael.rouille@gmail.com>

Describes the properties of a plugin, such as the plugin name, version and release date.

Definition at line 19 of file OBTPluginInformation.h.


Constructor & Destructor Documentation

PluginInformation::PluginInformation ( const char *  pluginName,
const char *  description,
unsigned int  majorVersion,
unsigned int  minorVersion,
const char *  versionLabel,
const char *  releaseDate 
)

Constructor.

Definition at line 10 of file OBTPluginInformation.cpp.

00016         :
00017 _pluginName( productName ) ,
00018 _description( description ) ,   
00019 _majorVersion( majorVersion ) ,
00020 _minorVersion( minorVersion ) ,
00021 _versionLabel( versionLabel ) ,
00022 _releaseDate( releaseDate ) 
00023 {   
00024 }

PluginInformation::~PluginInformation (  )  [virtual]

Destructor.

Definition at line 29 of file OBTPluginInformation.cpp.

00030 {
00031 }


Member Function Documentation

const char * OBT::PluginInformation::getCString (  )  const [inline]

C-string conversion method.

Returns:
a C-string representation of this plugin information

Definition at line 184 of file OBTPluginInformation.h.

References _description, _pluginName, _releaseDate, _versionLabel, getMajorVersion(), and getMinorVersion().

00185         {
00186                 // WARNING : not thread-safe
00187                 std::string information ;
00188                 std::stringstream stream ;
00189 
00190                 information = _pluginName ;
00191                 information += " - " ;
00192                 stream << getMajorVersion() ;
00193                 information += stream.str() ;
00194                 information += "." ;
00195                 stream.clear() ;
00196                 stream << getMinorVersion() ;
00197                 information += stream.str() ;
00198                 information += " - " ;
00199                 information += _versionLabel ;
00200                 information += " - " ;
00201                 information += _releaseDate ;
00202                 if ( !_description.empty() )
00203                 {
00204                         information += " - " ;
00205                         information += _description ;
00206                 }
00207                 return information.c_str() ;
00208         }

const char * OBT::PluginInformation::getDescription (  )  const [inline]

Get the description of the plugin.

Returns:
the description of the plugin

Definition at line 139 of file OBTPluginInformation.h.

References _description.

00140         {
00141                 return _description.c_str() ;
00142         }

unsigned int OBT::PluginInformation::getMajorVersion (  )  const [inline]

Get the major part of the plugin version number.

Returns:
the major part of the plugin version number

Definition at line 148 of file OBTPluginInformation.h.

References _majorVersion.

Referenced by getCString(), operator!=(), operator<(), and operator==().

00149         {
00150                 return _majorVersion ;
00151         }

unsigned int OBT::PluginInformation::getMinorVersion (  )  const [inline]

Get the minor part of the plugin version number.

Returns:
the minor part of the plugin version number

Definition at line 157 of file OBTPluginInformation.h.

References _minorVersion.

Referenced by getCString(), operator!=(), operator<(), and operator==().

00158         {
00159                 return _minorVersion ;
00160         }

const char * OBT::PluginInformation::getPluginName (  )  const [inline]

Get the name of the plugin.

Returns:
the name of the plugin

Definition at line 130 of file OBTPluginInformation.h.

References _pluginName.

00131         {
00132                 return _pluginName.c_str();
00133         }

const char * OBT::PluginInformation::getReleaseDate (  )  const [inline]

Get the release date (in a string form).

Returns:
the release date (in a string form)

Definition at line 175 of file OBTPluginInformation.h.

References _releaseDate.

00176         {
00177                 return _releaseDate.c_str();
00178         }

const char * OBT::PluginInformation::getVersionLabel (  )  const [inline]

Get the label of the plugin version.

Returns:
the label of the plugin version

Definition at line 166 of file OBTPluginInformation.h.

References _versionLabel.

00167         {
00168                 return _versionLabel.c_str();
00169         }

bool OBT::PluginInformation::operator!= ( const PluginInformation pluginInformation  )  const [inline]

comparison operator.

Parameters:
pluginInformation instance to compare to this
Returns:
true major version, minor version or version label are different

Definition at line 244 of file OBTPluginInformation.h.

References _majorVersion, _minorVersion, _versionLabel, getMajorVersion(), and getMinorVersion().

00245         {
00246                 return( ( _majorVersion != pluginInformation.getMajorVersion() ) ||
00247                         ( _minorVersion != pluginInformation.getMinorVersion() ) ||
00248                         ( _versionLabel != pluginInformation._versionLabel ) ) ;
00249         }

bool OBT::PluginInformation::operator< ( const PluginInformation pluginInformation  )  const [inline]

less operator.

Parameters:
pluginInformation instance to compare to this
Returns:
true if the major version is less than or equal to pluginInformation's, and minor version strictly less than pluginInformation's

Definition at line 213 of file OBTPluginInformation.h.

References _majorVersion, _minorVersion, getMajorVersion(), and getMinorVersion().

00214         {
00215                 if ( _majorVersion < pluginInformation.getMajorVersion() )
00216                 {
00217                         return true;
00218                 }
00219                 else if ( _majorVersion == pluginInformation.getMajorVersion() )
00220                 {
00221                         return ( _minorVersion < pluginInformation.getMinorVersion() ) ;
00222                 }
00223                 else
00224                 {
00225                         return false ;
00226                 }
00227         }

bool OBT::PluginInformation::operator== ( const PluginInformation pluginInformation  )  const [inline]

comparison operator.

Parameters:
pluginInformation instance to compare to this
Returns:
true major version, minor version and version label are identical

Definition at line 233 of file OBTPluginInformation.h.

References _majorVersion, _minorVersion, _versionLabel, getMajorVersion(), and getMinorVersion().

00234         {
00235                 return( ( _majorVersion == pluginInformation.getMajorVersion() ) &&
00236                         ( _minorVersion == pluginInformation.getMinorVersion() ) &&
00237                         ( _versionLabel == pluginInformation._versionLabel ) ) ;
00238         }


Member Data Documentation

std::string OBT::PluginInformation::_description [private]

description of the plugin

Definition at line 111 of file OBTPluginInformation.h.

Referenced by getCString(), and getDescription().

unsigned int OBT::PluginInformation::_majorVersion [private]

major part of the plugin version number

Definition at line 114 of file OBTPluginInformation.h.

Referenced by getMajorVersion(), operator!=(), operator<(), and operator==().

unsigned int OBT::PluginInformation::_minorVersion [private]

minor part of the plugin version number

Definition at line 117 of file OBTPluginInformation.h.

Referenced by getMinorVersion(), operator!=(), operator<(), and operator==().

std::string OBT::PluginInformation::_pluginName [private]

name of the plugin

Definition at line 108 of file OBTPluginInformation.h.

Referenced by getCString(), and getPluginName().

std::string OBT::PluginInformation::_releaseDate [private]

date of plugin release

Definition at line 123 of file OBTPluginInformation.h.

Referenced by getCString(), and getReleaseDate().

label of the plugin version

Definition at line 120 of file OBTPluginInformation.h.

Referenced by getCString(), getVersionLabel(), operator!=(), and operator==().

"unknown" definition for missing plugin information

Definition at line 103 of file OBTPluginInformation.h.

Referenced by OBT::Plugin::getInformation().


Generated on 1 Jan 2010 for OBT by  doxygen 1.6.1