view include/track/types.h @ 137:69db40272acd

dep/animia: [WIP] huge refactor this WILL NOT compile, because lots of code has been changed and every API in the original codebase has been removed. note that this api setup is not exactly permanent...
author Paper <mrpapersonic@gmail.com>
date Fri, 10 Nov 2023 13:52:47 -0500
parents 39521c47c7a3
children
line wrap: on
line source

#ifndef __track__types_h
#define __track__types_h

#include <string>
#include <vector>

namespace Track {
namespace Types {

struct MediaPlayer {
	public:
		std::string GetName() const { return _name; };
		std::string GetExecutable() const { return _executable; };
		bool GetEnabled() const { return _enabled; };

		void SetName(const std::string& name) { _name = name; };
		void SetExecutable(const std::string& executable) { _executable = executable; };
		void SetEnabled(const bool enabled) { _enabled = enabled; };

	private:
		std::string _name;
		std::string _executable;
		bool _enabled;
};

struct MediaExtension {
	public:
		std::string GetExtension() const { return _extension; };
		bool GetEnabled() const { return _enabled; };

		void SetExtension(const std::string& extension) { _extension = extension; };
		void SetEnabled(const bool enabled) { _enabled = enabled; };

	private:
		std::string _extension;
		bool _enabled;
};

void LoadPlayers(std::vector<MediaPlayer>& players);
void LoadExtensions(std::vector<MediaExtension>& extensions);

void SavePlayers(const std::vector<MediaPlayer>& players);
void SaveExtensions(const std::vector<MediaExtension>& extensions);

}
}

#endif // __track__types_h