Get Signer to take a PEM string rather than a filename.
[libdcp.git] / src / content.cc
index 9a035c8098ee716b9e90ed7d282d218e728b691d..8a654670b69f2c7d15c4597622b89e57d034a1eb 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
-#include <iostream>
-#include <boost/filesystem.hpp>
-#include <boost/lexical_cast.hpp>
-#include <boost/function.hpp>
-#include <libxml++/nodes/element.h>
-#include "AS_DCP.h"
-#include "KM_util.h"
 #include "content.h"
 #include "util.h"
 #include "metadata.h"
+#include "AS_DCP.h"
+#include "KM_util.h"
+#include <libxml++/nodes/element.h>
+#include <boost/filesystem.hpp>
+#include <boost/function.hpp>
+#include <iostream>
 
 using namespace std;
 using namespace boost;
 using namespace dcp;
 
 Content::Content (boost::filesystem::path file)
-       : _file (file)
-       , _edit_rate (0)
-       , _intrinsic_duration (0)
-{
-
-}
-
-Content::Content (int edit_rate)
-       : _edit_rate (edit_rate)
-       , _intrinsic_duration (0)
-{
-
-}
-
-void
-Content::write_to_pkl (xmlpp::Node* node) const
+       : Asset (file)
 {
-       xmlpp::Node* asset = node->add_child ("Asset");
-       asset->add_child("Id")->add_child_text ("urn:uuid:" + _id);
-       asset->add_child("AnnotationText")->add_child_text (_id);
-//XXX  asset->add_child("Hash")->add_child_text (digest ());
-       asset->add_child("Size")->add_child_text (lexical_cast<string> (filesystem::file_size (_file)));
-       asset->add_child("Type")->add_child_text ("application/mxf");
-}
-
-void
-Content::write_to_assetmap (xmlpp::Node* node) const
-{
-       xmlpp::Node* asset = node->add_child ("Asset");
-       asset->add_child("Id")->add_child_text ("urn:uuid:" + _id);
-       xmlpp::Node* chunk_list = asset->add_child ("ChunkList");
-       xmlpp::Node* chunk = chunk_list->add_child ("Chunk");
-       chunk->add_child("Path")->add_child_text (_file.string ());
-       chunk->add_child("VolumeIndex")->add_child_text ("1");
-       chunk->add_child("Offset")->add_child_text ("0");
-       chunk->add_child("Length")->add_child_text (lexical_cast<string> (filesystem::file_size (_file)));
+       
 }
 
 bool
-Content::equals (shared_ptr<const Content> other, EqualityOptions, boost::function<void (NoteType, string)> note) const
+Content::equals (shared_ptr<const Content> other, EqualityOptions opt, boost::function<void (NoteType, string)> note) const
 {
-       // if (_edit_rate != other->_edit_rate) {
-       //      note (ERROR, "asset edit rates differ");
-       //      return false;
-       // }
-       
-       // if (_intrinsic_duration != other->_intrinsic_duration) {
-       //      note (ERROR, "asset intrinsic durations differ");
-       // }
-
-       // if (_duration != other->_duration) {
-       //      note (ERROR, "asset durations differ");
-       // }
+       if (!Asset::equals (other, opt, note)) {
+               return false;
+       }
 
-       // return true;
+       return true;
 }