Ignore:
Timestamp:
1999-11-02T10:53:28+13:00 (25 years ago)
Author:
sjboddie
Message:

added cross-collection searching capability - still needs lots of
work but the basic functionality is there

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/queryaction.h

    r533 r757  
    3333#include "action.h"
    3434
     35struct colinfo_t {
     36  void clear();
     37  colinfo_t () {clear();}
     38
     39  format_t *formatlistptr;
     40  browserclass *browserptr;
     41};
     42
     43struct QueryResult_t {
     44  void clear ();
     45  QueryResult_t () {clear();}
     46
     47  ResultDocInfo_t doc;
     48  text_t collection;
     49};
     50
     51struct gteqQueryResult_t
     52{
     53  bool operator()(const QueryResult_t &t1, const QueryResult_t &t2) const
     54  { return t1.doc.ranking >= t2.doc.ranking; }
     55};
     56
     57typedef set<QueryResult_t, gteqQueryResult_t> QueryResult_tset;
     58
    3559
    3660class queryaction : public action {
     
    4670             const FilterOption_t &option, displayclass &disp);
    4771
     72  void output_ccp (cgiargsclass &args, recptprotolistclass *protos,
     73           displayclass &disp, outconvertclass &outconvert,
     74           ostream &textout, ostream &logout);
     75 
     76
     77  bool search_multiple_collections (cgiargsclass &args, recptprotolistclass *protos,
     78                    browsermapclass *browsers, displayclass &disp,
     79                    outconvertclass &outconvert, ostream &textout,
     80                    ostream &logout);
     81
     82  bool search_single_collection (cgiargsclass &args, recptprotolistclass *protos,
     83                 browsermapclass *browsers, displayclass &disp,
     84                 outconvertclass &outconvert, ostream &textout,
     85                 ostream &logout);
     86
    4887
    4988public:
     
    5897  bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
    5998              ostream &logout);
    60   void get_cgihead_info (cgiargsclass &args, response_t &response,
    61              text_t &response_data, ostream &logout);
     99
     100  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
     101             response_t &response, text_t &response_data,
     102             ostream &logout);
    62103 
    63   void define_internal_macros (const ColInfoResponse_t &collectinfo, displayclass &disp,
    64                    cgiargsclass &args, recptproto *collectproto, ostream &logout);
    65   void define_external_macros (const ColInfoResponse_t &collectinfo, displayclass &disp,
    66                    cgiargsclass &args, recptproto *collectproto, ostream &logout);
     104  void define_internal_macros (displayclass &disp, cgiargsclass &args,
     105                   recptprotolistclass *protos, ostream &logout);
     106
     107  void define_external_macros (displayclass &disp, cgiargsclass &args,
     108                   recptprotolistclass *protos, ostream &logout);
    67109 
    68   bool do_action (cgiargsclass &args, const ColInfoResponse_t &collectinfo,
    69           recptproto *collectproto, displayclass &disp,
     110  bool do_action (cgiargsclass &args, recptprotolistclass *protos,
     111          browsermapclass *browsers, displayclass &disp,
    70112          outconvertclass &outconvert, ostream &textout,
    71113          ostream &logout);
    72114};
    73115
    74 
    75116#endif
Note: See TracChangeset for help on using the changeset viewer.