Mercurial > archived > louis > epitech > zia-api
view include/IModule.hpp @ 53:e16869cd9773
Minor fixes, improve doxygen doc main page, add a CHANGELOG file
author | Louis Opter <kalessin@kalessin.fr> |
---|---|
date | Thu, 25 Mar 2010 21:36:16 +0100 |
parents | dad671a5f028 |
children | daa129f931e9 |
line wrap: on
line source
#ifndef __ZIA_API_IMODULE_HPP__ # define __ZIA_API_IMODULE_HPP__ # include <string> # include <vector> # include "http/ITransaction.hpp" # include "network/IEndPoint.hpp" # include "IConfig.hpp" /** * @mainpage StreamIt API Reference * * @section sec_about About * * This API is maintained by the StreamIt Team: more info at * <a href="http://www.ziastream.it/">www.ziastream.it</a>. * * From here you can browse the full reference on our API. * * @section see_also See Also * * - <a href="http://code.ziastream.it/trac/api/wiki/Pr%C3%A9sentationApi">PrésentationApi</a>; * - <a href="http://code.ziastream.it/trac/api/wiki/R%C3%A9f%C3%A9renceRapide">RéférenceRapide</a>; * - <a href="http://code.ziastream.it/trac/api/wiki/ThreadSafety">ThreadSafety</a>. */ namespace zia { namespace api { /** * @brief It provides basic methods to identify the module and load it. */ class IModule { public: virtual ~IModule(void) { } /** * @brief Get the module name. * * @return The module name. */ virtual const std::string & getName(void) const = 0; /** * @brief Get module version. * * @return The module version. */ virtual const std::string & getVersion(void) const = 0; /** * @brief Get the module's list of hooks. * * @return A vector of IHandler. * * @see IHandler */ virtual const std::vector<handler::IHandler *> & getHandlers(void) const = 0; /** * @brief Update module configuration. * * @param [in] conf The pointer on IConfig which holds the * configuration. * * @return True if the configuration was successfully loaded. False * otherwise and the module will be unloaded. * * @see IConfig */ virtual bool configure(IConfig* conf = NULL) = 0; }; extern "C" { /** * @brief Entry point of the module. * * @return The module instance. * * @see IModule */ IModule * ziaGetModuleInstance(void); } }; }; #endif /* ! __ZIA_API_IMODULE_HPP__ */