summaryrefslogtreecommitdiff
path: root/include/opmlurlreader.h
blob: 1eb0bb8c37a431404071dc2632ba4934106299c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef NEWSBOAT_OPMLURLREADER_H_
#define NEWSBOAT_OPMLURLREADER_H_

#include <libxml/tree.h>
#include <string>

#include "configcontainer.h"
#include "urlreader.h"

namespace newsboat {

class OpmlUrlReader : public UrlReader {
public:
	explicit OpmlUrlReader(ConfigContainer* c);
	nonstd::optional<utils::ReadTextFileError> reload() override;
	std::string get_source() override;

protected:
	virtual void handle_node(xmlNode* node, const std::string& tag);
	ConfigContainer* cfg;

private:
	void rec_find_rss_outlines(xmlNode* node, std::string tag);
};

}

#endif /* NEWSBOAT_OPMLURLREADER_H_ */