2323
2424#include < istream>
2525#include < memory>
26+ #include < optional>
2627
2728namespace digidoc
2829{
@@ -31,20 +32,22 @@ class Digest;
3132class DataFilePrivate final : public DataFile
3233{
3334public:
34- DataFilePrivate (std::unique_ptr<std::istream> &&is, std::string filename, std::string mediatype, std::string id = {});
35+ DataFilePrivate (std::unique_ptr<std::istream> &&is, std::string filename, std::string mediatype, std::string id = {});
3536
36- std::string id () const final { return m_id.empty () ? m_filename : m_id; }
37- std::string fileName () const final { return m_filename; }
38- unsigned long fileSize () const final { return m_size; }
39- std::string mediaType () const final { return m_mediatype; }
37+ std::string id () const final { return m_id.empty () ? m_filename : m_id; }
38+ std::string fileName () const final { return m_filename; }
39+ unsigned long fileSize () const final ;
40+ std::string mediaType () const final { return m_mediatype; }
4041
41- void digest (const Digest &method) const ;
42- std::vector<unsigned char > calcDigest (const std::string &method) const final ;
43- void saveAs (std::ostream &os) const final ;
44- void saveAs (const std::string& path) const final ;
42+ void digest (const Digest &method) const ;
43+ std::vector<unsigned char > calcDigest (const std::string &method) const final ;
44+ void saveAs (std::ostream &os) const final ;
45+ void saveAs (const std::string& path) const final ;
4546
46- std::unique_ptr<std::istream> m_is;
47- std::string m_id, m_filename, m_mediatype;
48- unsigned long m_size;
47+ std::unique_ptr<std::istream> m_is;
48+ std::string m_id, m_filename, m_mediatype;
49+
50+ struct Private ;
51+ std::unique_ptr<Private> d;
4952};
5053}
0 commit comments