Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f47dd5efd3dc40a2e1c5fcb907706fb9 > files > 133

libtulip-devel-3.1.1-1mdv2009.1.i586.rpm

//-*-c++-*-
/**
 Authors: David Auber, Patrick Mary, Morgan Mathiaut
 from the LaBRI Visualization Team
 Email : auber@tulip-software.org
 Last modification : 22/01/2009 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by  
 the Free Software Foundation; either version 2 of the License, or     
 (at your option) any later version.
*/

#ifndef TULIPPLUGIN_H
#define TULIPPLUGIN_H
#include <string>

namespace tlp {

/** Common interface for plug-ins.*/
class Plugin {
public:
  virtual ~Plugin(){}
  /**Return the name of the plug-in, be careful, 
     this name must be unique, if two plug-ins have the same name
     only the latest loaded will be available*/
  virtual  std::string getName() const=0;
  /* Returns the group name of the plug-in,
     a string with subgroup names separated by ::
     ex: trees::planar trees */
  virtual std::string getGroup() const=0;
  /**Return the author of the plug-in*/
  virtual  std::string getAuthor() const=0;
  /**Return the date of creation of the plug-in*/
  virtual  std::string getDate() const=0;
  /**Return free information about the plug-in*/  
  virtual  std::string getInfo() const=0;
  /**Return the whole release number of the plug-in*/ 
  virtual  std::string getRelease() const=0;
  /**Return the major release number of the plug-in*/ 
  virtual  std::string getMajor() const=0;
  /**Return the minor release number of the plug-in*/ 
  virtual  std::string getMinor() const=0;
  /**Return the whole Tulip release number the plug-in is build with*/ 
  virtual  std::string getTulipRelease() const=0;
  /**Return the major Tulip release number the plug-in is build with*/ 
  virtual  std::string getTulipMajor() const=0;
  /**Return the major Tulip release number the plug-in is build with*/ 
  virtual  std::string getTulipMinor() const=0;
};

}
#endif