[mb-commits] r9188 - in libmusicbrainz/trunk: . include/musicbrainz3 src test

root at musicbrainz.org root at musicbrainz.org
Wed Jun 20 19:30:21 UTC 2007


Author: luks
Date: 2007-06-20 19:30:21 +0000 (Wed, 20 Jun 2007)
New Revision: 9188

Modified:
   libmusicbrainz/trunk/NEWS.txt
   libmusicbrainz/trunk/include/musicbrainz3/releaseevent.h
   libmusicbrainz/trunk/src/mbxmlparser.cpp
   libmusicbrainz/trunk/src/releaseevent.cpp
   libmusicbrainz/trunk/src/utils_private.h
   libmusicbrainz/trunk/test/test_parser_release.cpp
Log:
Support for catalog numbers and barcodes.

Modified: libmusicbrainz/trunk/NEWS.txt
===================================================================
--- libmusicbrainz/trunk/NEWS.txt	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/NEWS.txt	2007-06-20 19:30:21 UTC (rev 9188)
@@ -4,6 +4,7 @@
    - Fixed mb_query_get_tracks function name in mb_c.h.
    - Detect correctly installed libdiscid in src/disc.cpp.
    - Support for releaseEvents in ArtistIncludes. (#2974)
+   - Support for catalog numbers and barcodes.
 
 Changes for libmusicbrainz 3.0.0 (2007-05-12)
 ---------------------------------------------

Modified: libmusicbrainz/trunk/include/musicbrainz3/releaseevent.h
===================================================================
--- libmusicbrainz/trunk/include/musicbrainz3/releaseevent.h	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/include/musicbrainz3/releaseevent.h	2007-06-20 19:30:21 UTC (rev 9188)
@@ -88,6 +88,12 @@
 		 */
 		void setDate(const std::string &dateStr);
 		
+		void setCatalogNumber(const std::string &catalogNumber);
+		std::string getCatalogNumber() const;
+		
+		void setBarcode(const std::string &barcode);
+		std::string getBarcode() const;
+
 	private:
 		
 		class ReleaseEventPrivate;

Modified: libmusicbrainz/trunk/src/mbxmlparser.cpp
===================================================================
--- libmusicbrainz/trunk/src/mbxmlparser.cpp	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/src/mbxmlparser.cpp	2007-06-20 19:30:21 UTC (rev 9188)
@@ -369,6 +369,8 @@
 	ReleaseEvent *releaseEvent = factory.newReleaseEvent();
 	releaseEvent->setCountry(getTextAttr(releaseEventNode, "country"));
 	releaseEvent->setDate(getTextAttr(releaseEventNode, "date"));
+	releaseEvent->setCatalogNumber(getTextAttr(releaseEventNode, "catalog-number"));
+	releaseEvent->setBarcode(getTextAttr(releaseEventNode, "barcode"));
 	return releaseEvent;
 }
 

Modified: libmusicbrainz/trunk/src/releaseevent.cpp
===================================================================
--- libmusicbrainz/trunk/src/releaseevent.cpp	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/src/releaseevent.cpp	2007-06-20 19:30:21 UTC (rev 9188)
@@ -22,6 +22,7 @@
  
 #include <string>
 #include <musicbrainz3/releaseevent.h>
+#include "utils_private.h"
 
 using namespace std;
 using namespace MusicBrainz;
@@ -34,6 +35,8 @@
 		
 	string country;
 	string dateStr;
+	string catalogNumber;
+	string barcode;
 };
 
 ReleaseEvent::ReleaseEvent(const string &country, const string &dateStr)
@@ -49,27 +52,7 @@
 	delete d;
 }
 
-string
-ReleaseEvent::getCountry() const
-{
-	return d->country;
-}
-
-void
-ReleaseEvent::setCountry(const string &value)
-{
-	d->country = value;
-}
-
-string
-ReleaseEvent::getDate() const
-{
-	return d->dateStr;
-}
-
-void
-ReleaseEvent::setDate(const string &value)
-{
-	d->dateStr = value;
-}
-
+SIMPLE_STRING_SETTER_GETTER(ReleaseEvent, Country, country);
+SIMPLE_STRING_SETTER_GETTER(ReleaseEvent, CatalogNumber, catalogNumber);
+SIMPLE_STRING_SETTER_GETTER(ReleaseEvent, Barcode, barcode);
+SIMPLE_STRING_SETTER_GETTER(ReleaseEvent, Date, dateStr);

Modified: libmusicbrainz/trunk/src/utils_private.h
===================================================================
--- libmusicbrainz/trunk/src/utils_private.h	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/src/utils_private.h	2007-06-20 19:30:21 UTC (rev 9188)
@@ -44,4 +44,16 @@
 	
 }
 
+#define SIMPLE_STRING_SETTER_GETTER(class, name, name2) \
+	string \
+	class::get##name() const \
+	{ \
+		return d->name2; \
+	} \
+	void \
+	class::set##name(const string &value) \
+	{ \
+		d->name2 = value; \
+	} \
+
 #endif

Modified: libmusicbrainz/trunk/test/test_parser_release.cpp
===================================================================
--- libmusicbrainz/trunk/test/test_parser_release.cpp	2007-06-20 19:11:15 UTC (rev 9187)
+++ libmusicbrainz/trunk/test/test_parser_release.cpp	2007-06-20 19:30:21 UTC (rev 9188)
@@ -19,6 +19,7 @@
 	CPPUNIT_TEST(testReleaseArtist);
 	CPPUNIT_TEST(testReleaseDiscs);
 	CPPUNIT_TEST(testReleaseEvents);
+	CPPUNIT_TEST(testReleaseEvents2);
 	CPPUNIT_TEST(testReleaseTracks);
 	CPPUNIT_TEST(testReleaseTracksVA);
 	CPPUNIT_TEST(testReleaseSearch);
@@ -82,6 +83,17 @@
 		CPPUNIT_ASSERT_EQUAL(string("1992-02-25"), re[2]->getDate());
 	}
 	
+	void testReleaseEvents2()
+	{
+		Metadata *md = MbXmlParser().parse(get_file_contents("../test-data/valid/release/Under_the_Pink_3.xml"));
+		Release *release = md->getRelease();
+		CPPUNIT_ASSERT(release);
+		ReleaseEventList &re = release->getReleaseEvents();
+		CPPUNIT_ASSERT_EQUAL(1, int(re.size()));
+		CPPUNIT_ASSERT_EQUAL(string("82567-2"), re[0]->getCatalogNumber());
+		CPPUNIT_ASSERT_EQUAL(string("07567825672"), re[0]->getBarcode());
+	}
+	
 	void testReleaseTracks()
 	{
 		Metadata *md = MbXmlParser().parse(get_file_contents("../test-data/valid/release/Highway_61_Revisited_1.xml"));




More information about the MusicBrainz-commits mailing list