view examples/rot13/Rot13Module.hpp @ 41:7c8cd74023ce

Rework file layout, fix build, add README and SUPPORT
author Louis Opter <kalessin@kalessin.fr>
date Mon, 22 Mar 2010 02:08:24 +0100
parents src/examples/rot13/Rot13Module.hpp@aa427c18ffe2
children
line wrap: on
line source

#ifndef _ZIA_ROT13_MODULE_HPP_
# define _ZIA_ROT13_MODULE_HPP_

# include "http/ITransaction.hpp"
# include "IConfig.hpp"
# include "handler/IHandler.hpp"
# include "IModule.hpp"

/**
 * @brief Simple implementation of the StreamIt IModule interface.
 */
class ModRot13 : public zia::api::IModule
{
public:
    ModRot13(void);
    virtual ~ModRot13(void) { }

    /**
     * @brief Module name getter.
     *
     * @return The module name.
     */
    const std::string & getName(void) const;

    /**
     * @brief Module version getter.
     *
     * @return The module version.
     */
    const std::string & getVersion(void) const;

    /**
     * @brief Module's handlers getter.
     *
     * @return the module's handlers in a vector.
     */
    const std::vector<zia::api::handler::IHandler *> &   getHandlers(void) const;

    /**
     * @brief Allow us to configure the module.
     *
     * @return true if the configuration was succesful. In our simple example
     * it returns true everytime, because we don't need a configuration.
     */
    bool        configure(zia::api::IConfig *);

private:
    std::string       _name;
    std::string       _version;
    std::vector<zia::api::handler::IHandler *>  _handlers;
};

#endif	/* ! _ZIA_ROT13_MODULE_HPP_ */