Use cxml::ConstNodePtr.
authorCarl Hetherington <cth@carlh.net>
Mon, 19 May 2014 10:34:01 +0000 (11:34 +0100)
committerCarl Hetherington <cth@carlh.net>
Mon, 19 May 2014 10:34:01 +0000 (11:34 +0100)
27 files changed:
src/lib/audio_content.cc
src/lib/audio_content.h
src/lib/audio_mapping.cc
src/lib/audio_mapping.h
src/lib/cinema.cc
src/lib/cinema.h
src/lib/content.cc
src/lib/content.h
src/lib/dci_metadata.cc
src/lib/dci_metadata.h
src/lib/dcp_video_frame.cc
src/lib/dcp_video_frame.h
src/lib/ffmpeg_content.cc
src/lib/ffmpeg_content.h
src/lib/image_content.cc
src/lib/image_content.h
src/lib/playlist.cc
src/lib/playlist.h
src/lib/sndfile_content.cc
src/lib/sndfile_content.h
src/lib/subrip_content.cc
src/lib/subrip_content.h
src/lib/subtitle_content.cc
src/lib/subtitle_content.h
src/lib/video_content.cc
src/lib/video_content.h
test/stream_test.cc

index e8fd4bbd39d0e93813bd78b325624307e60e4750..c78dd3e695bbed9d11a1031d93587289345ba5ac 100644 (file)
@@ -57,7 +57,7 @@ AudioContent::AudioContent (shared_ptr<const Film> f, boost::filesystem::path p)
 
 }
 
-AudioContent::AudioContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node)
+AudioContent::AudioContent (shared_ptr<const Film> f, cxml::ConstNodePtr node)
        : Content (f, node)
 {
        _audio_gain = node->number_child<float> ("AudioGain");
index 09f90b85c256c7f4327938d838a29e414219d6cc..1ceb01f780edd20cb91fc4849527e9d27df64d5a 100644 (file)
@@ -52,7 +52,7 @@ public:
        
        AudioContent (boost::shared_ptr<const Film>, DCPTime);
        AudioContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       AudioContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>);
+       AudioContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr);
        AudioContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
 
        void as_xml (xmlpp::Node *) const;
index 496300b48a746931f419748231f24f70364f4493..7d7e9f82863794b6495f368a677402793d8b5160 100644 (file)
@@ -78,7 +78,7 @@ AudioMapping::make_default ()
        }
 }
 
-AudioMapping::AudioMapping (shared_ptr<const cxml::Node> node, int state_version)
+AudioMapping::AudioMapping (cxml::ConstNodePtr node, int state_version)
 {
        setup (node->number_child<int> ("ContentChannels"));
 
index d3f497fc28ec0cdbb7398a31a12fffaa7f95ad2c..7bf974c2292a4a03ecc726df51ba1d0bfe5c4f56 100644 (file)
@@ -21,8 +21,9 @@
 #define DCPOMATIC_AUDIO_MAPPING_H
 
 #include <vector>
-#include <dcp/types.h>
 #include <boost/shared_ptr.hpp>
+#include <dcp/types.h>
+#include <libcxml/cxml.h>
 
 namespace xmlpp {
        class Node;
@@ -42,7 +43,7 @@ class AudioMapping
 public:
        AudioMapping ();
        AudioMapping (int channels);
-       AudioMapping (boost::shared_ptr<const cxml::Node>, int);
+       AudioMapping (cxml::ConstNodePtr, int);
 
        /* Default copy constructor is fine */
        
index 43a4322396144417041ec801c380895f170079bf..c8cb7b66cc935be866e8049b3a489971fd2712bc 100644 (file)
@@ -24,7 +24,7 @@
 using std::list;
 using boost::shared_ptr;
 
-Cinema::Cinema (shared_ptr<const cxml::Node> node)
+Cinema::Cinema (cxml::ConstNodePtr node)
        : name (node->string_child ("Name"))
        , email (node->string_child ("Email"))
 {
@@ -35,7 +35,7 @@ Cinema::Cinema (shared_ptr<const cxml::Node> node)
    a constructor)
 */
 void
-Cinema::read_screens (shared_ptr<const cxml::Node> node)
+Cinema::read_screens (cxml::ConstNodePtr node)
 {
        list<cxml::NodePtr> s = node->node_children ("Screen");
        for (list<cxml::NodePtr>::iterator i = s.begin(); i != s.end(); ++i) {
@@ -67,7 +67,7 @@ Cinema::remove_screen (shared_ptr<Screen> s)
        _screens.remove (s);
 }
 
-Screen::Screen (shared_ptr<const cxml::Node> node)
+Screen::Screen (cxml::ConstNodePtr node)
 {
        name = node->string_child ("Name");
        certificate = shared_ptr<dcp::Certificate> (new dcp::Certificate (node->string_child ("Certificate")));
index 2e7660860e66777d015c58246c33758df65e0f91..74357f65d687e0261ded537e94b3b4f95afcfdb2 100644 (file)
 
 #include <boost/enable_shared_from_this.hpp>
 #include <dcp/certificates.h>
+#include <libcxml/cxml.h>
 
 class Cinema;
 
-namespace cxml {
-       class Node;
-}
-
 /** @class Screen
  *  @brief A representation of a Screen for KDM generation.
  *
@@ -44,7 +41,7 @@ public:
                , certificate (cert)
        {}
 
-       Screen (boost::shared_ptr<const cxml::Node>);
+       Screen (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Element *) const;
        
@@ -67,9 +64,9 @@ public:
                , email (e)
        {}
 
-       Cinema (boost::shared_ptr<const cxml::Node>);
+       Cinema (cxml::ConstNodePtr);
 
-       void read_screens (boost::shared_ptr<const cxml::Node>);
+       void read_screens (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Element *) const;
 
index c4836cfa89a643c1838bc94ef302a99c661d9418..b6678cb4d9e7e9555773beb8746754755f0673e9 100644 (file)
@@ -79,7 +79,7 @@ Content::Content (shared_ptr<const Film> f, boost::filesystem::path p)
        _paths.push_back (p);
 }
 
-Content::Content (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node)
+Content::Content (shared_ptr<const Film> f, cxml::ConstNodePtr node)
        : _film (f)
        , _change_signals_frequent (false)
 {
index 659995b3b8e13c5d2e6b5cb435931bd88ed15010..1d3764c20192bd883f5efffe79249e736325f79a 100644 (file)
@@ -30,6 +30,7 @@
 #include <boost/thread/mutex.hpp>
 #include <boost/enable_shared_from_this.hpp>
 #include <libxml++/libxml++.h>
+#include <libcxml/cxml.h>
 #include "types.h"
 #include "dcpomatic_time.h"
 
@@ -59,7 +60,7 @@ public:
        Content (boost::shared_ptr<const Film>);
        Content (boost::shared_ptr<const Film>, DCPTime);
        Content (boost::shared_ptr<const Film>, boost::filesystem::path);
-       Content (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>);
+       Content (boost::shared_ptr<const Film>, cxml::ConstNodePtr);
        Content (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
        virtual ~Content () {}
        
index 2c6e43654915b239d94f4ff6acb61df9389d42fa..c80d913056f578ff9c6760b8c48db9bb36f8e8a3 100644 (file)
@@ -28,7 +28,7 @@ using std::string;
 using boost::shared_ptr;
 using dcp::raw_convert;
 
-DCIMetadata::DCIMetadata (shared_ptr<const cxml::Node> node)
+DCIMetadata::DCIMetadata (cxml::ConstNodePtr node)
 {
        content_version = node->number_child<int> ("ContentVersion");
        audio_language = node->string_child ("AudioLanguage");
index 738e439de5cbe789828c978d64b95124ef423d50..6563ff95c50c9d797374b90c0f6437ac66d4493b 100644 (file)
 
 #include <string>
 #include <libxml++/libxml++.h>
-
-namespace cxml {
-       class Node;
-}
+#include <libcxml/cxml.h>
 
 class DCIMetadata
 {
@@ -34,7 +31,7 @@ public:
                : content_version (1)
        {}
        
-       DCIMetadata (boost::shared_ptr<const cxml::Node>);
+       DCIMetadata (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Node *) const;
        void read_old_metadata (std::string, std::string);
index 59f356a5a78b297e0f54da14143a8ef43e2345a1..d860c319542bd52296ea0ec37f949d11e64d06dd 100644 (file)
@@ -93,7 +93,7 @@ DCPVideoFrame::DCPVideoFrame (
        
 }
 
-DCPVideoFrame::DCPVideoFrame (shared_ptr<const Image> image, shared_ptr<const cxml::Node> node, shared_ptr<Log> log)
+DCPVideoFrame::DCPVideoFrame (shared_ptr<const Image> image, cxml::ConstNodePtr node, shared_ptr<Log> log)
        : _image (image)
        , _log (log)
 {
index 0a8b5f287f6860a7d172bbdb483430565895506f..c51a3f02ba615c0aebdff6530577b2abe71f711f 100644 (file)
@@ -101,7 +101,7 @@ class DCPVideoFrame : public boost::noncopyable
 {
 public:
        DCPVideoFrame (boost::shared_ptr<const Image>, int, Eyes, ColourConversion, int, int, Resolution, boost::shared_ptr<Log>);
-       DCPVideoFrame (boost::shared_ptr<const Image>, boost::shared_ptr<const cxml::Node>, boost::shared_ptr<Log>);
+       DCPVideoFrame (boost::shared_ptr<const Image>, cxml::ConstNodePtr, boost::shared_ptr<Log>);
 
        boost::shared_ptr<EncodedData> encode_locally ();
        boost::shared_ptr<EncodedData> encode_remotely (ServerDescription);
index a374bcf3e7496932b5f843c16e4b07458286a4fa..d15f3fd26a8fcbe47175fdb23e966964a1bd5d51 100644 (file)
@@ -59,7 +59,7 @@ FFmpegContent::FFmpegContent (shared_ptr<const Film> f, boost::filesystem::path
 
 }
 
-FFmpegContent::FFmpegContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version, list<string>& notes)
+FFmpegContent::FFmpegContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version, list<string>& notes)
        : Content (f, node)
        , VideoContent (f, node, version)
        , AudioContent (f, node)
@@ -312,7 +312,7 @@ operator!= (FFmpegStream const & a, FFmpegStream const & b)
        return a._id != b._id;
 }
 
-FFmpegStream::FFmpegStream (shared_ptr<const cxml::Node> node)
+FFmpegStream::FFmpegStream (cxml::ConstNodePtr node)
        : name (node->string_child ("Name"))
        , _id (node->number_child<int> ("Id"))
 {
@@ -326,7 +326,7 @@ FFmpegStream::as_xml (xmlpp::Node* root) const
        root->add_child("Id")->add_child_text (raw_convert<string> (_id));
 }
 
-FFmpegAudioStream::FFmpegAudioStream (shared_ptr<const cxml::Node> node, int version)
+FFmpegAudioStream::FFmpegAudioStream (cxml::ConstNodePtr node, int version)
        : FFmpegStream (node)
        , mapping (node->node_child ("Mapping"), version)
 {
@@ -380,7 +380,7 @@ FFmpegStream::stream (AVFormatContext const * fc) const
  *  @param t String returned from to_string().
  *  @param v State file version.
  */
-FFmpegSubtitleStream::FFmpegSubtitleStream (shared_ptr<const cxml::Node> node)
+FFmpegSubtitleStream::FFmpegSubtitleStream (cxml::ConstNodePtr node)
        : FFmpegStream (node)
 {
        
index 37746ac9db213ed73ec9a63931347c3ed2475360..c546d69eb70e9a74107b2c8b3f860a17a3d14b30 100644 (file)
@@ -41,7 +41,7 @@ public:
                , _id (i)
        {}
                                
-       FFmpegStream (boost::shared_ptr<const cxml::Node>);
+       FFmpegStream (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Node *) const;
 
@@ -81,7 +81,7 @@ public:
                mapping.make_default ();
        }
 
-       FFmpegAudioStream (boost::shared_ptr<const cxml::Node>, int);
+       FFmpegAudioStream (cxml::ConstNodePtr, int);
 
        void as_xml (xmlpp::Node *) const;
 
@@ -109,7 +109,7 @@ public:
                : FFmpegStream (n, i)
        {}
        
-       FFmpegSubtitleStream (boost::shared_ptr<const cxml::Node>);
+       FFmpegSubtitleStream (cxml::ConstNodePtr);
 
        void as_xml (xmlpp::Node *) const;
 };
@@ -128,7 +128,7 @@ class FFmpegContent : public VideoContent, public AudioContent, public SubtitleC
 {
 public:
        FFmpegContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       FFmpegContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int version, std::list<std::string> &);
+       FFmpegContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int version, std::list<std::string> &);
        FFmpegContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
 
        boost::shared_ptr<FFmpegContent> shared_from_this () {
index 56c83d3f740c3343903ec6f02ed517681fc69a3d..07f047ddd53bfc9c4651dca19d2b1b12fe8f753d 100644 (file)
@@ -54,7 +54,7 @@ ImageContent::ImageContent (shared_ptr<const Film> f, boost::filesystem::path p)
 }
 
 
-ImageContent::ImageContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
+ImageContent::ImageContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version)
        : Content (f, node)
        , VideoContent (f, node, version)
 {
index 6db24767d5af5850a418444f204f69b896bb6f5b..a1b1437c811fb391154b222466b7fa22a27b5258 100644 (file)
@@ -31,7 +31,7 @@ class ImageContent : public VideoContent
 {
 public:
        ImageContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       ImageContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+       ImageContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
 
        boost::shared_ptr<ImageContent> shared_from_this () {
                return boost::dynamic_pointer_cast<ImageContent> (Content::shared_from_this ());
index 9a048980c0b02aebadd481db236149df8544de8e..214badc7ee8b8e62ce7d0ed0f5bcc287e34a5996 100644 (file)
@@ -118,7 +118,7 @@ Playlist::video_identifier () const
 
 /** @param node <Playlist> node */
 void
-Playlist::set_from_xml (shared_ptr<const Film> film, shared_ptr<const cxml::Node> node, int version, list<string>& notes)
+Playlist::set_from_xml (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version, list<string>& notes)
 {
        list<cxml::NodePtr> c = node->node_children ("Content");
        for (list<cxml::NodePtr>::iterator i = c.begin(); i != c.end(); ++i) {
index 4295a3e3512da7de78a1444a5194f826e763a89f..6280b1219057d0e2b00e2200ca8a9e08b7692946 100644 (file)
@@ -54,7 +54,7 @@ public:
        ~Playlist ();
 
        void as_xml (xmlpp::Node *);
-       void set_from_xml (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int, std::list<std::string> &);
+       void set_from_xml (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int, std::list<std::string> &);
 
        void add (boost::shared_ptr<Content>);
        void remove (boost::shared_ptr<Content>);
index cad5eb8e73704d2ba15bdf6d2b0a58210c112ade..ed4f8ffd527ebde2358319d8344456829d25448c 100644 (file)
@@ -44,7 +44,7 @@ SndfileContent::SndfileContent (shared_ptr<const Film> f, boost::filesystem::pat
 
 }
 
-SndfileContent::SndfileContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
+SndfileContent::SndfileContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version)
        : Content (f, node)
        , AudioContent (f, node)
        , _audio_mapping (node->node_child ("AudioMapping"), version)
index bbc5111ffa8184747b22c887e808f80e74f92d62..dcd6cb55d0e1735bb977ca6ce947d8b9399c4939 100644 (file)
@@ -33,7 +33,7 @@ class SndfileContent : public AudioContent
 {
 public:
        SndfileContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       SndfileContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+       SndfileContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
 
        boost::shared_ptr<SndfileContent> shared_from_this () {
                return boost::dynamic_pointer_cast<SndfileContent> (Content::shared_from_this ());
index 8f9c28e293c15bfe9335e0f9f7fe9bc24edca1de..892578adecc11595bf8059ee2530f87bf88dca14 100644 (file)
@@ -39,7 +39,7 @@ SubRipContent::SubRipContent (shared_ptr<const Film> film, boost::filesystem::pa
 
 }
 
-SubRipContent::SubRipContent (shared_ptr<const Film> film, shared_ptr<const cxml::Node> node, int version)
+SubRipContent::SubRipContent (shared_ptr<const Film> film, cxml::ConstNodePtr node, int version)
        : Content (film, node)
        , SubtitleContent (film, node, version)
        , _length (node->number_child<int64_t> ("Length"))
index 3a8380cec56e1846060c3eacad2ecf4ea7dac1f8..5688f81d5fe44639450e3d8d8a57d4acb9f4a9b3 100644 (file)
@@ -23,7 +23,7 @@ class SubRipContent : public SubtitleContent
 {
 public:
        SubRipContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       SubRipContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+       SubRipContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
 
        boost::shared_ptr<SubRipContent> shared_from_this () {
                return boost::dynamic_pointer_cast<SubRipContent> (Content::shared_from_this ());
index 783c73e254aaa75b743adae6b5c5851b84d4b3b7..068bf75164d1154d591e0e7f5db82e8217695423 100644 (file)
@@ -45,7 +45,7 @@ SubtitleContent::SubtitleContent (shared_ptr<const Film> f, boost::filesystem::p
 
 }
 
-SubtitleContent::SubtitleContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
+SubtitleContent::SubtitleContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version)
        : Content (f, node)
        , _subtitle_x_offset (0)
        , _subtitle_y_offset (0)
index 38863768889adb1cbea41dd019afc6fad1517ea0..92d072ca6540aa0bdfcde06766f96c193655c532 100644 (file)
@@ -34,7 +34,7 @@ class SubtitleContent : public virtual Content
 {
 public:
        SubtitleContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       SubtitleContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int version);
+       SubtitleContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int version);
        SubtitleContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
        
        void as_xml (xmlpp::Node *) const;
index bd24621f79fe72c144d04bf33edaf908cadb61b8..a67a1777ef7f5c9bea6c4876ecf4fa42ed34e10b 100644 (file)
@@ -82,7 +82,7 @@ VideoContent::VideoContent (shared_ptr<const Film> f, boost::filesystem::path p)
        setup_default_colour_conversion ();
 }
 
-VideoContent::VideoContent (shared_ptr<const Film> f, shared_ptr<const cxml::Node> node, int version)
+VideoContent::VideoContent (shared_ptr<const Film> f, cxml::ConstNodePtr node, int version)
        : Content (f, node)
 {
        _video_length = ContentTime (node->number_child<int64_t> ("VideoLength"));
@@ -396,7 +396,7 @@ VideoContentScale::VideoContentScale (bool scale)
 
 }
 
-VideoContentScale::VideoContentScale (shared_ptr<cxml::Node> node)
+VideoContentScale::VideoContentScale (cxml::NodePtr node)
        : _ratio (0)
        , _scale (true)
 {
index 6b91997c9f4076c91ffdd9d536ee21106bc0e9d0..8313c73eeb8a32b8d65a79e2caa6d22466966042 100644 (file)
@@ -43,7 +43,7 @@ public:
        VideoContentScale ();
        VideoContentScale (Ratio const *);
        VideoContentScale (bool);
-       VideoContentScale (boost::shared_ptr<cxml::Node>);
+       VideoContentScale (cxml::NodePtr);
 
        dcp::Size size (boost::shared_ptr<const VideoContent>, dcp::Size, dcp::Size) const;
        std::string id () const;
@@ -83,7 +83,7 @@ public:
        VideoContent (boost::shared_ptr<const Film>);
        VideoContent (boost::shared_ptr<const Film>, DCPTime, ContentTime);
        VideoContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       VideoContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+       VideoContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
        VideoContent (boost::shared_ptr<const Film>, std::vector<boost::shared_ptr<Content> >);
 
        void as_xml (xmlpp::Node *) const;
index f30bc64d8329964912e04307cb90ab5f96b3a3bc..f9dfadad5b7846dd7598dcfd431382af6c4677c5 100644 (file)
@@ -69,7 +69,7 @@ BOOST_AUTO_TEST_CASE (stream_test)
                map->add_child("DCP")->add_child_text ("2");
        }
                
-       FFmpegAudioStream a (shared_ptr<cxml::Node> (new cxml::Node (root)), 5);
+       FFmpegAudioStream a (cxml::NodePtr (new cxml::Node (root)), 5);
 
        BOOST_CHECK_EQUAL (a.identifier(), "4");
        BOOST_CHECK_EQUAL (a.frame_rate, 44100);