#include "fileutil.h" #include "nullproto.h" #include "collectset.h" #import #import class GreenstoneAPI { public: GreenstoneAPI(UIApplication* toplevelApp); virtual ~GreenstoneAPI(); bool sanityCheck(); NSMutableArray* collectionList(); ColInfoResponse_t& collectInfo (const text_t& collection); ColInfoResponse_t& collectInfo (NSString* nscollection); void setLanguage(const text_t& lang) { _lang = lang; } NSString* collectionmetaValue(ColInfoResponse_t& colinfo, text_t key); NSString* collectionName(ColInfoResponse_t& colinfo); NSString* getDocument(NSString* nscollection, NSString* nsgid); // ****** NSString* getResolvedDocument(NSString* nscollection, NSString* nsgid); NSMutableArray* getMetadata(NSString* nscollection, NSString* nsgid, NSString* nsmetaname); NSString* getMetadataFirst(NSString* nscollection, NSString* nsgid, NSString* nsmetaname); NSString* getMetadataFirst(const text_t& collection, text_t& gid, text_t& metaname); NSString* getSrcUrlMetadata(NSString* nscollection, NSString* nsgid); NSMutableArray* browseClassifierList(NSString* nscollection, NSString* nsgid); NSMutableArray* browseToplevelList(NSString* nscollection); NSMutableArray* query(NSString* nscollection, NSString* nsquery); void alert(NSString* nslevel, NSString* nsmessage); void alert(char* level, char* message); void alert(text_t level, text_t message); protected: text_t resolveUrls(const text_t& unresolved, const text_t& collection, const text_t& archivedir); text_t srclinkToUrl(const text_t& srclink, const text_t& collection, const text_t& archivedir); bool recurse_contents(const text_t& collection, ResultDocInfo_t& section, text_tset& metadata, text_t& output_text); void set_queryfilter_options (const text_t& collection, FilterRequest_t &request, const text_t &querystring); NSMutableArray* filterResponseToTitlesList(const text_t& collection, FilterResponse_t §ions); NSMutableArray* search_single_collection (const text_t& collection, const text_t& query); protected: UIApplication* _toplevelApp; text_t _lang; collectset* _cservers; nullproto* _nproto; text_t _gsdlhome; };