view dep/anitomy/anitomy/anitomy.h @ 375:abd956418fe9

gui/pages/now_playing: automatically update progress when the episode is "finished"
author Paper <paper@tflc.us>
date Fri, 25 Jul 2025 11:22:55 -0400
parents a0aa8c8c4307
children
line wrap: on
line source

/*
** Copyright (c) 2014-2017, Eren Okka
**
** This Source Code Form is subject to the terms of the Mozilla Public
** License, v. 2.0. If a copy of the MPL was not distributed with this
** file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/

#pragma once

#include "element.h"
#include "options.h"
#include "string.h"
#include "token.h"

namespace anitomy {

class Anitomy {
	public:
		bool Parse(string_t filename);
		bool Parse(const std::string& filename); /* utf-8 */

		Elements& elements();
		Options& options();
		const token_container_t& tokens() const;

	private:
		bool RemoveExtensionFromFilename(string_t& filename, string_t& extension) const;
		void RemoveIgnoredStrings(string_t& filename) const;

		Elements elements_;
		Options options_;
		token_container_t tokens_;
};

} // namespace anitomy