27 #ifndef SBMEDIALISTDUPLICATEFILTER_H_
28 #define SBMEDIALISTDUPLICATEFILTER_H_
31 #include <nsAutoLock.h>
33 #include <nsHashKeys.h>
34 #include <nsISimpleEnumerator.h>
36 #include <nsTHashtable.h>
39 #include <sbIMediaListDuplicateFilter.h>
40 #include <sbIMediaListListener.h>
41 #include <sbIPropertyArray.h>
58 NS_DECL_NSISIMPLEENUMERATOR;
59 NS_DECL_SBIMEDIALISTDUPLICATEFILTER;
60 NS_DECL_SBIMEDIALISTENUMERATIONLISTENER;
72 nsresult IsDuplicate(
sbIMediaItem * aItem,
bool & aIsDuplicate);
85 nsTHashtable<nsStringHashKey> mKeys;
88 PRUint32 mSBPropKeysLength;
90 nsTArray<nsString> mSBPropKeys;
92 nsCOMPtr<sbIPropertyArray> mSBPropertyArray;
94 nsCOMPtr<sbIPropertyArray> mItemProperties;
97 nsCOMPtr<nsISimpleEnumerator> mSource;
100 nsCOMPtr<sbIMediaList> mDest;
103 nsCOMPtr<sbIMediaItem> mCurrentItem;
106 PRUint32 mDuplicateItems;
109 PRUint32 mTotalItems;
112 PRBool mRemoveDuplicates;