/*
 * Mirai. Copyright (C) 2024 Vyn
 * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only)
 * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt
 */

#pragma once

#include "BaseSource.h"
#include <string>

namespace mirai
{

struct BaseFileSourceConstructor {
	std::string name;
	std::string path;
};

class BaseFileSource : public BaseSource
{
  public:
	BaseFileSource(BaseFileSourceConstructor data) : BaseSource(data.name), path(data.path) {};

	BaseFileSource(BaseFileSource &) = delete;
	BaseFileSource(BaseFileSource &&) = delete;
	~BaseFileSource() override = default;

	const std::string &getPath() const
	{
		return path;
	}

  private:
	std::string path;
};
} // namespace mirai
