root/gsdl/trunk/src/recpt/dynamicclassifieraction.h @ 16115

Revision 16115, 4.0 KB (checked in by mdewsnip, 12 years ago)

Now uses output_hlist_classifier_nodes() instead of output_grouping_nodes().

  • Property svn:executable set to *
Line 
1/**********************************************************************
2 *
3 * dynamicclassifieraction.h --
4 * Copyright (C) 2008  DL Consulting Ltd
5 *
6 * A component of the Greenstone digital library software
7 * from the New Zealand Digital Library Project at the
8 * University of Waikato, New Zealand.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 *********************************************************************/
25
26#ifndef DYNAMICCLASSIFIERACTION_H
27#define DYNAMICCLASSIFIERACTION_H
28
29
30#include "action.h"
31#include "receptionist.h"
32
33
34class dynamicclassifieraction : public action
35{
36protected:
37  receptionist *recpt;
38
39public:
40  dynamicclassifieraction ();
41  virtual ~dynamicclassifieraction ();
42
43  void set_receptionist (receptionist *recpt_arg) { recpt = recpt_arg; }
44
45  text_t get_action_name () { return "dc"; }
46
47  bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
48              recptprotolistclass *protos, ostream &logout);
49
50  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
51             response_t &response,text_t &response_data,
52             ostream &logout);
53
54  void define_external_macros (displayclass &disp, cgiargsclass &args,
55                   recptprotolistclass *protos, ostream &logout);
56
57  virtual void define_internal_macros (displayclass &disp, cgiargsclass &args,
58                       recptprotolistclass *protos, ostream &logout);
59
60  bool do_action (cgiargsclass &args, recptprotolistclass *protos,
61          browsermapclass *browsers, displayclass &disp,
62          outconvertclass &outconvert, ostream &textout,
63          ostream &logout);
64
65  text_tmap parse_classifier_options (text_t classifier_specification, cgiargsclass &args);
66
67  text_t output_hlist_classifier_nodes (text_t parent_classifier_node_OID,
68                    text_t metadata_value_filter,
69                    text_t metadata_value_grouping_expression,
70                    text_tmap classifier_options, cgiargsclass &args,
71                    recptproto *collectproto, browsermapclass *browsers,
72                    displayclass &disp, outconvertclass &outconvert,
73                    ostream &textout, ostream &logout);
74
75  void output_upper_classifier_nodes (text_t root_classifier_node_OID,
76                      text_tlist parent_classifier_node_labels,
77                      int& classifier_node_indent,
78                      text_tmap classifier_options, cgiargsclass &args,
79                      recptproto *collectproto, browsermapclass *browsers,
80                      displayclass &disp, outconvertclass &outconvert,
81                      ostream &textout, ostream &logout);
82
83  void output_child_classifier_nodes (text_t classifier_node_OID,
84                      text_t classifier_node_metadata_value,
85                      text_t metadata_value_filter,
86                      int& classifier_node_indent,
87                      text_tmap classifier_options, cgiargsclass &args,
88                      recptproto *collectproto, browsermapclass *browsers,
89                      displayclass &disp, outconvertclass &outconvert,
90                      ostream &textout, ostream &logout);
91
92  void display_classifier_nodes (FilterResponse_t classifier_nodes_response,
93                 text_t classifier_nodes_type,
94                 int classifier_nodes_indent,
95                 cgiargsclass &args, recptproto *collectproto,
96                 browsermapclass *browsers, displayclass &disp,
97                 outconvertclass &outconvert, ostream &textout,
98                 ostream &logout);
99
100  void display_document_nodes (FilterResponse_t documents_response,
101                   int document_nodes_indent,
102                   cgiargsclass &args, recptproto *collectproto,
103                   browsermapclass *browsers, displayclass &disp,
104                   outconvertclass &outconvert, ostream &textout,
105                   ostream &logout);
106};
107
108
109#endif
Note: See TracBrowser for help on using the browser.