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

Last change on this file since 174 was 174, checked in by rjmcnab, 25 years ago

Initial revision.

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