00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "../../gift-config.h"
00024 #ifdef __GIFT_WITH_PERL__
00025
00026 #ifndef _CACPERL
00027 #define _CACPERL
00028 #include "libGIFTAcPerl/include/uses-declarations.h"
00045 #include <string>
00046 #include "libMRML/include/TID.h"
00047 #include <iostream>
00048 #include <fstream>
00049 #include <list>
00050 #include <map>
00051 #ifdef HAS_HASH_MAP
00052 #include <hash_map>
00053 #else
00054 #define hash_map map
00055 #endif
00056 #include "libMRML/include/CAccessor.h"
00057 #include "libMRML/include/CSelfDestroyPointer.h"
00058
00059 class CXMLElement;
00060
00070 class CAcPerl:public CAccessor{
00071 private:
00076 CSelfDestroyPointer<CXMLElement> mCollectionElement;
00077
00078 public:
00079
00092 CAcPerl(const CXMLElement& inContentElement);
00096 ~CAcPerl();
00097
00103 virtual operator bool()const;
00104
00111 CXMLElement* cloneCollectionElement()const;
00115 string IDToURL(long int) const;
00119 struct pair<bool,CAccessorElement> IDToAccessorElement(long int) const;
00123 struct pair<bool,long int> URLToID(const string &) const;
00127 void getAllIDs(list<TID> &) const;
00131 void getAllAccessorElements(list<CAccessorElement> &) const;
00135 void getRandomIDs(list<long int > &, unsigned int) const;
00139 void getRandomAccessorElements(list<CAccessorElement > &, unsigned int) const;
00143 int size() const;
00144
00145
00146 };
00147
00148 #endif
00149 #endif