source: trunk/gsdl/src/recpt/pageaction.h@ 3036

Last change on this file since 3036 was 2945, checked in by sjboddie, 22 years ago

The "l" and "w" (interface language and encoding) arguments are now
preserved when moving from one collection to another through the home
page. A nicer way to do this would be to add the ability to define
certain arguments as being "collection specific" (since there are many
arguments whose values we don't want to retain when moving between
collections) and let all the rest be retained (rather than making a
special case of "l" and "w"). For now this rather inelegant solution
will do the trick though.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.5 KB
Line 
1/**********************************************************************
2 *
3 * pageaction.h --
4 * Copyright (C) 1999 The New Zealand Digital Library Project
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
27#ifndef PAGEACTION_H
28#define PAGEACTION_H
29
30
31#include "gsdlconf.h"
32#include "action.h"
33#include "receptionist.h"
34
35
36class pageaction : public action {
37
38protected:
39 receptionist *recpt;
40
41 text_tset classify_meta;
42
43public:
44 pageaction ();
45 virtual ~pageaction ();
46
47 void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
48
49 text_t get_action_name () {return "p";}
50
51 bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
52 ostream &logout);
53
54 void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
55 response_t &response,text_t &response_data,
56 ostream &logout);
57
58 void define_internal_macros (displayclass &disp, cgiargsclass &args,
59 recptprotolistclass *protos, ostream &logout);
60
61 bool do_action (cgiargsclass &args, recptprotolistclass *protos,
62 browsermapclass *browsers, displayclass &disp,
63 outconvertclass &outconvert, ostream &textout,
64 ostream &logout);
65
66 void configure (const text_t &key, const text_tarray &cfgline);
67
68protected:
69 void set_homeextra_macro (displayclass &disp, recptprotolistclass *protos,
70 cgiargsclass &args, ostream &logout);
71
72 void set_collectionlist_macro (displayclass &disp, recptprotolistclass *protos,
73 ostream &logout);
74
75 void set_documentation_macro (displayclass &disp);
76
77 void set_macro_to_file_contents (displayclass &disp, const text_t &macroname,
78 const text_t &packagename, const text_t &filename);
79
80 bool status_disabled;
81 bool collector_disabled;
82
83};
84
85
86#endif
Note: See TracBrowser for help on using the repository browser.