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