diff options
Diffstat (limited to 'src/video.hh')
| -rw-r--r-- | src/video.hh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/video.hh b/src/video.hh new file mode 100644 index 0000000..26a5c50 --- /dev/null +++ b/src/video.hh @@ -0,0 +1,31 @@ +#ifndef VIDEO_HH +#define VIDEO_HH + +#include "date.hh" +#include "location.hh" + +#include <filesystem> +#include <memory> + +class Timezone; + +class Video { +public: + virtual ~Video() = default; + + static std::unique_ptr<Video> load(std::filesystem::path const& path, + Timezone const* timezone); + + virtual uint64_t width() const = 0; + virtual uint64_t height() const = 0; + virtual double length() const = 0; + virtual Location location() const = 0; + virtual Date date() const = 0; + +protected: + Video() = default; + Video(Video const&) = delete; + Video& operator=(Video const&) = delete; +}; + +#endif // VIDEO_HH |
