3f51ca12b8bc07bc2ad1eccce56a69fa1521b546
[libdcp.git] / src / asset_map.h
1 #include <stdint.h>
2 #include <boost/shared_ptr.hpp>
3 #include "xml.h"
4
5 namespace libdcp {
6
7 class Chunk : public XMLNode
8 {
9 public:
10         Chunk ();
11         Chunk (xmlpp::Node const * node);
12
13         std::string path;
14         int64_t volume_index;
15         int64_t offset;
16         int64_t length;
17 };
18
19 class AssetMapAsset : public XMLNode
20 {
21 public:
22         AssetMapAsset ();
23         AssetMapAsset (xmlpp::Node const * node);
24
25         std::string id;
26         std::string packing_list;
27         std::list<boost::shared_ptr<Chunk> > chunks;
28 };
29
30 class AssetMap : public XMLFile
31 {
32 public:
33         AssetMap (std::string file);
34
35         std::string id;
36         std::string creator;
37         int64_t volume_count;
38         std::string issue_date;
39         std::string issuer;
40         std::list<boost::shared_ptr<AssetMapAsset> > assets;
41 };
42
43 }