Utils.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/plugin/Utils.h
22 
23  \brief Utility functions for dealing with plugins.
24 */
25 
26 #ifndef __TERRALIB_PLUGIN_INTERNAL_UTILS_H
27 #define __TERRALIB_PLUGIN_INTERNAL_UTILS_H
28 
29 // TerraLib
30 #include "Config.h"
31 
32 // STL
33 #include <string>
34 
35 namespace te
36 {
37  namespace plugin
38  {
39 // Forward declaration
40  struct PluginInfo;
41 
42  /*!
43  \brief It unloads all plugins from a given engine.
44 
45  \note This method may propagate the unload of dependent plugins.
46  */
47  TEPLUGINEXPORT void UnloadAllPluginsFromEngine(const std::string& engine);
48 
49  /*!
50  \brief It recursively unload the plugin and any dependent plugins.
51  */
52  TEPLUGINEXPORT void Unload(const std::string& plugin);
53 
54  /*!
55  \brief It returns information about a given plugin provided its plugin configuration file name or dir.
56 
57  \param pluginFilePath Plugin configuration file name or dir (may be a relative path).
58 
59  \return The information about the plugin contained in the informed configuration file or dir.
60  The caller will take the ownership of the returned PluginInfo.
61 
62  \exception Exception It throws an exception if it is not possible to retrieve information about the plugin.
63  */
64  TEPLUGINEXPORT PluginInfo* GetInstalledPlugin(const std::string& pluginFilePath);
65 
66  } // end namespace plugin
67 } // end namespace te
68 
69 #endif // __TERRALIB_PLUGIN_INTERNAL_UTILS_H
70 
TEPLUGINEXPORT void UnloadAllPluginsFromEngine(const std::string &engine)
It unloads all plugins from a given engine.
Configuration flags for the TerraLib Plugin module.
TEPLUGINEXPORT PluginInfo * GetInstalledPlugin(const std::string &pluginFilePath)
It returns information about a given plugin provided its plugin configuration file name or dir...
URI C++ Library.
TEPLUGINEXPORT void Unload(const std::string &plugin)
It recursively unload the plugin and any dependent plugins.
#define TEPLUGINEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:120