#ifndef STORE_MODULE_H
#define STORE_MODULE_H

#include <string>
#include <vector>
#include <boost/regex.hpp>

class StoreModule {
    std::string path;
    std::wstring name;
    std::wstring autodetect_regex;
    std::wstring goods_name_regex;
    std::wstring goods_price_regex;
    std::wstring goods_net_weight_regex;
    std::wstring goods_quantity_regex;
    std::wstring check_start_regex;
    std::wstring check_end_regex;

    std::vector<std::string> parse(std::wstring str, std::wstring regexp, boost::regex_constants::flag_type_ flag);
public:
    StoreModule(std::string path);
    StoreModule();

    std::vector<std::string> parse_name(std::wstring);
    std::vector<std::string> parse_price(std::wstring);
    std::vector<std::string> parse_net_weight(std::vector<std::string> &names);
    std::vector<std::string> parse_quantity(std::wstring);

    std::wstring trim_check(std::wstring&);

    std::wstring get_name();

    bool search_autodetect_regex(std::wstring str);
};

#endif // STORE_MODULE_H