Webserv
Loading...
Searching...
No Matches
IDirective.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "config/Block.hpp"
5#include <string>
6
7namespace config {
8
19public:
23 virtual ~IDirective() {}
24
30 virtual void process(Block &block, ParsedDirectiveArgs const &args) const = 0;
31
36 virtual std::string const &getName() const = 0;
37};
38
39} // namespace config
Base class for configuration blocks like 'server' and 'location'.
Definition Block.hpp:15
Defines the contract for a configuration directive handler.
Definition IDirective.hpp:18
virtual std::string const & getName() const =0
Gets the name of the directive.
virtual void process(Block &block, ParsedDirectiveArgs const &args) const =0
The primary logic for processing the directive's arguments.
virtual ~IDirective()
Virtual destructor.
Definition IDirective.hpp:23
Definition ArgumentFactory.hpp:5
std::vector< Token > ParsedDirectiveArgs
Definition types.hpp:13