diff --git a/src/proc/asset.cpp b/src/proc/asset.cpp index 460464a8e..8780ca518 100644 --- a/src/proc/asset.cpp +++ b/src/proc/asset.cpp @@ -27,8 +27,6 @@ #include -#include -#include using boost::format; using util::cStr; diff --git a/src/proc/asset.hpp b/src/proc/asset.hpp index a6e3b1ad8..c97af4844 100644 --- a/src/proc/asset.hpp +++ b/src/proc/asset.hpp @@ -273,19 +273,22 @@ namespace asset /** shorthand for refcounting Asset pointers */ typedef shared_ptr PAsset; - /** ordering of Assets based on Ident tuple */ + /** ordering of Asset smart ptrs based on Ident tuple. + * @todo currently supporting only smart_ptr. */ + inline bool operator== (const PAsset& a1, const PAsset& a2) { return a1 && a2 && ( 0==a1->ident.compare(a2->ident));} inline bool operator< (const PAsset& a1, const PAsset& a2) { return a1 && a2 && (-1==a1->ident.compare(a2->ident));} inline bool operator> (const PAsset& a1, const PAsset& a2) { return a2 < a1; } inline bool operator>= (const PAsset& a1, const PAsset& a2) { return !(a1 < a2); } inline bool operator<= (const PAsset& a1, const PAsset& a2) { return !(a1 > a2); } + inline bool operator!= (const PAsset& a1, const PAsset& a2) { return !(a1== a2); } /** ordering of Asset Ident tuples. * @note version is irrelevant */ inline int Asset::Ident::compare (const Asset::Ident& oi) const { int res; - if (1 != (res=category.compare (oi.category))) return res; - if (1 != (res=org.compare (oi.org))) return res; + if (0 != (res=category.compare (oi.category))) return res; + if (0 != (res=org.compare (oi.org))) return res; return name.compare (oi.name); } diff --git a/src/proc/asset/category.hpp b/src/proc/asset/category.hpp index 5a1bf905c..b51ef1919 100644 --- a/src/proc/asset/category.hpp +++ b/src/proc/asset/category.hpp @@ -94,7 +94,7 @@ namespace asset int compare (const Category& co) const { int res = int(kind_) - int(co.kind_); - if (1 != res) + if (0 != res) return res; else return path_.compare (co.path_); diff --git a/tests/51asset.tests b/tests/51asset.tests index 4c87542f4..0e6b6c009 100644 --- a/tests/51asset.tests +++ b/tests/51asset.tests @@ -20,5 +20,6 @@ return: 0 END -PLANNED "OrderingOfAssets_test" OrderingOfAssets_test < PM; + typedef shared_ptr PA; Asset::Ident key1("Au-1", Category(AUDIO), "ichthyo", 5); - PM mm1 = asset::Media::create(key1, "Name-1"); + PA mm1 = asset::Media::create(key1, "Name-1"); Asset::Ident key2("Au-1", Category(AUDIO), "ichthyo", 7); - PM mm2 = asset::Media::create(key2, "Name-2"); + PA mm2 = asset::Media::create(key2, "Name-2"); Asset::Ident key3("Au-2", Category(AUDIO), "ichthyo", 5); - PM mm3 = asset::Media::create(key3, "Name-3"); + PA mm3 = asset::Media::create(key3, "Name-3"); Asset::Ident key4("Au-2", Category(AUDIO), "stega", 5); - PM mm4 = asset::Media::create(key4, "Name-4"); + PA mm4 = asset::Media::create(key4, "Name-4"); Asset::Ident key5("Au-1", Category(VIDEO), "ichthyo", 5); - PM mm5 = asset::Media::create(key5, "Name-5"); + PA mm5 = asset::Media::create(key5, "Name-5"); // ordering of keys @@ -111,7 +119,6 @@ namespace asset ASSERT (mm2 < mm4); } - };