27 #include "../common/Translator.h" 
   28 #include "../common/PlatformUtils.h" 
   34 #include <boost/filesystem.hpp> 
   35 #include <boost/format.hpp> 
   57   dirs.push_back( boost::filesystem::system_complete( 
"." ).
string() );    
 
   72     boost::filesystem::path p(plgDir);
 
   74     if(boost::filesystem::is_directory(p))
 
   75       dirs.push_back( boost::filesystem::system_complete(p).
string() );
 
   78 #ifdef TE_PLUGINS_INSTALL_PATH 
   80       boost::filesystem::path p(TE_PLUGINS_INSTALL_PATH);
 
   82       if(boost::filesystem::is_directory(p))
 
   83         dirs.push_back( boost::filesystem::system_complete(p).
string() );
 
   90   if(!boost::filesystem::is_directory(path))
 
   91     throw Exception((boost::format(
TE_TR(
"Default plugin directory is invalid: %1%.")) % path).str());
 
   93   boost::filesystem::path p(boost::filesystem::system_complete(path));
 
   95   std::string s(p.string());
 
   97   if(std::find(m_pluginsDir.begin(), m_pluginsDir.end(), s) != m_pluginsDir.end())
 
  100   m_pluginsDir.push_back(s);
 
  111   std::size_t ndirs = m_pluginsDir.size();
 
  114   for(std::size_t i = 0; i < ndirs; ++i)
 
  116     if(!boost::filesystem::is_directory(m_pluginsDir[i]))
 
  117       throw Exception((boost::format(
TE_TR(
"The base plugin directory is invalid: %1%.")) % m_pluginsDir[i]).str());
 
  119     boost::filesystem::path path(m_pluginsDir[i]);
 
  121     for(boost::filesystem::directory_iterator it(path), itEnd; it != itEnd; ++it)
 
  123       if(boost::filesystem::is_regular_file(it->status()))
 
  125         std::string ext = boost::filesystem::extension(it->path());
 
TECOMMONEXPORT std::string FindInTerraLibPath(const std::string &p)
Returns the path relative to a directory or file in the context of TerraLib. 
 
const std::vector< std::string > & getPluginsDir() const 
It returns the list of plugins base directories. 
 
#define TE_DEFAULT_PLUGINS_DIR
The default look up plugin dir. 
 
#define TE_TR(message)
It marks a string in order to get translated. 
 
#define TE_DEFAULT_PLUGIN_EXTENSION
The default extension for plugins description files. 
 
~DefaultFinder()
Destructor. 
 
void getDefaultDirs(std::vector< std::string > &dirs) const 
It returns the default plugins directories. 
 
void addPluginsDir(const std::string &path)
It adds a new base location where the finder will search for installed plugins. 
 
DefaultFinder()
Constructor. 
 
std::vector< std::string > m_pluginsDir
The base list of directories to search for plugins. 
 
Utility functions for dealing with plugins. 
 
A plugin finder that search for plugins in some special directories defined by compile time macros...
 
The basic information about a plugin. 
 
void getPlugins(boost::ptr_vector< PluginInfo > &plugins)
This method searches for installed plugins and output the plugins information in the PluginInfo vecto...
 
TEPLUGINEXPORT PluginInfo * GetInstalledPlugin(const std::string &pluginFilePath)
It returns information about a given plugin provided its plugin configuration file name or dir...