00001
00002 #ifndef _CACCESSORELEMENT
00003 #define _CACCESSORELEMENT
00004 #include "libMRML/include/uses-declarations.h"
00005 #include <string>
00006 #include <functional>
00007 #include <iostream>
00008 #include "libMRML/include/TID.h"
00012 class CAccessorElement{
00014 TID mID;
00016 string mURL;
00018 string mThumbnailURL;
00020 string mFeatureFileName;
00021 public:
00023 CAccessorElement(const TID inID,
00024 const string& inURL,
00025 const string& inThumbnailURL,
00026 const string& inFeatureFileName);
00028 TID getID()const;
00030 string getURL()const;
00032 string getThumbnailURL()const;
00034 string getFeatureFileName()const;
00035
00037 friend class CSortByID_CAE;
00039 friend class CSortByURL_CAE;
00041 friend class CSortByThumbnailURL_CAE;
00042 };
00043
00045 class CSortByID_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
00046 public:
00048 bool operator()(const CAccessorElement& l,
00049 const CAccessorElement& t)const;
00050 };
00052 class CSortByURL_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
00053 public:
00055 bool operator()(const CAccessorElement& l,
00056 const CAccessorElement& t)const;
00057 };
00059 class CSortByThumbnailURL_CAE:public binary_function<CAccessorElement,CAccessorElement,bool>{
00060 public:
00062 bool operator()(const CAccessorElement& l,
00063 const CAccessorElement& t)const;
00064 };
00065
00066 ostream& operator<<(ostream& outStream,
00067 const CAccessorElement& inElement);
00068
00069 #endif