source: trunk/gsdl/src/recpt/queryaction.cpp@ 241

Last change on this file since 241 was 206, checked in by sjboddie, 25 years ago

altered receptionist slightly so it now passes *collectproto to
define_internal_macros and define_external_macros - need it
for browseaction

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1/**********************************************************************
2 *
3 * queryaction.cpp --
4 * Copyright (C) 1999 The New Zealand Digital Library Project
5 *
6 * PUT COPYRIGHT NOTICE HERE
7 *
8 * $Id: queryaction.cpp 206 1999-03-25 03:06:45Z sjboddie $
9 *
10 *********************************************************************/
11
12/*
13 $Log$
14 Revision 1.3 1999/03/25 03:06:45 sjboddie
15
16 altered receptionist slightly so it now passes *collectproto to
17 define_internal_macros and define_external_macros - need it
18 for browseaction
19
20 Revision 1.2 1999/03/03 20:26:50 rjmcnab
21
22 Modified stuff.
23
24 Revision 1.1 1999/02/28 22:45:21 rjmcnab
25
26 Initial revision.
27
28 */
29
30
31#include "queryaction.h"
32
33
34queryaction::queryaction () {
35 // this action uses cgi variable "a"
36 cgiarginfo arg_ainfo;
37 arg_ainfo.shortname = "a";
38 arg_ainfo.longname = "action";
39 arg_ainfo.multiplechar = true;
40 arg_ainfo.defaultstatus = cgiarginfo::weak;
41 arg_ainfo.argdefault = "q";
42 arg_ainfo.savedarginfo = cgiarginfo::must;
43 argsinfo.addarginfo (NULL, arg_ainfo);
44
45 // "h"
46 arg_ainfo.shortname = "h";
47 arg_ainfo.longname = "main index";
48 arg_ainfo.multiplechar = true;
49 arg_ainfo.defaultstatus = cgiarginfo::weak;
50 arg_ainfo.argdefault = "";
51 arg_ainfo.savedarginfo = cgiarginfo::mustnot;
52 argsinfo.addarginfo (NULL, arg_ainfo);
53
54 // "j"
55 arg_ainfo.shortname = "j";
56 arg_ainfo.longname = "sub collection index";
57 arg_ainfo.multiplechar = true;
58 arg_ainfo.defaultstatus = cgiarginfo::weak;
59 arg_ainfo.argdefault = "";
60 arg_ainfo.savedarginfo = cgiarginfo::mustnot;
61 argsinfo.addarginfo (NULL, arg_ainfo);
62
63 // "n"
64 arg_ainfo.shortname = "n";
65 arg_ainfo.longname = "language index";
66 arg_ainfo.multiplechar = true;
67 arg_ainfo.defaultstatus = cgiarginfo::weak;
68 arg_ainfo.argdefault = "";
69 arg_ainfo.savedarginfo = cgiarginfo::mustnot;
70 argsinfo.addarginfo (NULL, arg_ainfo);
71
72 // "q"
73 arg_ainfo.shortname = "q";
74 arg_ainfo.longname = "query string";
75 arg_ainfo.multiplechar = true;
76 arg_ainfo.defaultstatus = cgiarginfo::weak;
77 arg_ainfo.argdefault = "";
78 arg_ainfo.savedarginfo = cgiarginfo::must;
79 argsinfo.addarginfo (NULL, arg_ainfo);
80
81 // "t"
82 arg_ainfo.shortname = "t";
83 arg_ainfo.longname = "search type";
84 arg_ainfo.multiplechar = false;
85 arg_ainfo.defaultstatus = cgiarginfo::weak;
86 arg_ainfo.argdefault = "0";
87 arg_ainfo.savedarginfo = cgiarginfo::must;
88 argsinfo.addarginfo (NULL, arg_ainfo);
89
90 // "k"
91 arg_ainfo.shortname = "k";
92 arg_ainfo.longname = "casefolding";
93 arg_ainfo.multiplechar = false;
94 arg_ainfo.defaultstatus = cgiarginfo::weak;
95 arg_ainfo.argdefault = "1";
96 arg_ainfo.savedarginfo = cgiarginfo::must;
97 argsinfo.addarginfo (NULL, arg_ainfo);
98
99 // "s"
100 arg_ainfo.shortname = "s";
101 arg_ainfo.longname = "stemming";
102 arg_ainfo.multiplechar = false;
103 arg_ainfo.defaultstatus = cgiarginfo::weak;
104 arg_ainfo.argdefault ="0";
105 arg_ainfo.savedarginfo = cgiarginfo::must;
106 argsinfo.addarginfo (NULL, arg_ainfo);
107
108 // "m"
109 arg_ainfo.shortname = "m";
110 arg_ainfo.longname = "maximum number of documents";
111 arg_ainfo.multiplechar = true;
112 arg_ainfo.defaultstatus = cgiarginfo::weak;
113 arg_ainfo.argdefault = "50";
114 arg_ainfo.savedarginfo = cgiarginfo::must;
115 argsinfo.addarginfo (NULL, arg_ainfo);
116
117 // "o"
118 arg_ainfo.shortname = "o";
119 arg_ainfo.longname = "hits per page";
120 arg_ainfo.multiplechar = true;
121 arg_ainfo.defaultstatus = cgiarginfo::weak;
122 arg_ainfo.argdefault = "20";
123 arg_ainfo.savedarginfo = cgiarginfo::must;
124 argsinfo.addarginfo (NULL, arg_ainfo);
125
126 // "r"
127 arg_ainfo.shortname = "r";
128 arg_ainfo.longname = "start results from";
129 arg_ainfo.multiplechar = true;
130 arg_ainfo.defaultstatus = cgiarginfo::weak;
131 arg_ainfo.argdefault = "1";
132 arg_ainfo.savedarginfo = cgiarginfo::must;
133 argsinfo.addarginfo (NULL, arg_ainfo);
134}
135
136void queryaction::configure (const text_t &key, const text_tarray &cfgline) {
137 action::configure (key, cfgline);
138}
139
140bool queryaction::init (ostream &logout) {
141 return action::init (logout);
142}
143
144bool queryaction::check_cgiargs (cgiargsclass &/*args*/, ostream &/*logout*/) {
145 // check t argument
146
147 // check k argument
148
149 // check s argument
150
151 // check m argument
152
153 // check o argument
154
155 // check r argument
156
157 return true;
158}
159
160void queryaction::get_cgihead_info (cgiargsclass &/*args*/, response_t &response,
161 text_t &response_data, ostream &/*logout*/) {
162 response = content;
163 response_data = "text/html";
164}
165
166void queryaction::define_internal_macros (displayclass &/*disp*/, cgiargsclass &/*args*/,
167 recptproto */*collectproto*/, ostream &/*logout*/) {
168}
169
170void queryaction::define_external_macros (displayclass &/*disp*/, cgiargsclass &/*args*/,
171 recptproto */*collectproto*/, ostream &/*logout*/) {
172}
173
174bool queryaction::do_action (cgiargsclass &/*args*/, recptproto */*collectproto*/,
175 displayclass &/*disp*/, outconvertclass &/*outconvert*/,
176 ostream &/*textout*/, ostream &/*logout*/) {
177 return false;
178}
Note: See TracBrowser for help on using the repository browser.