source: trunk/gsdl/src/recpt/collectoraction.h@ 2710

Last change on this file since 2710 was 2627, checked in by sjboddie, 23 years ago

The recent bug fix to prevent collector problems when source directories
ended in a '\' didn't work on some systems (it seems that each different
version of windows has different rules where command line quoting is
converned!). It now simply removes any trailing '\' from each path rather
than attempting to escape all '\'s

  • Property svn:keywords set to Author Date Id Revision
File size: 3.9 KB
Line 
1/**********************************************************************
2 *
3 * collectoraction.h --
4 * Copyright (C) 2000 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 COLLECTORACTION_H
28#define COLLECTORACTION_H
29
30#include "action.h"
31#include "receptionist.h"
32
33class collectoraction : public action {
34
35protected:
36
37 bool disabled;
38 receptionist *recpt;
39 char *gsdlosc;
40 char *gsdlhomec;
41 char *pathc;
42
43 text_t message;
44
45 bool do_mkcol;
46
47 bool badsources;
48 text_tmap failedsources;
49
50 text_t get_button (const text_t &thispage, const text_t &color,
51 const text_t &type, bool enabled);
52
53 void set_fullnamemenu (displayclass &disp, cgiargsclass &args,
54 recptprotolistclass *protos, ostream &logout);
55
56 void set_inputsourceboxes (displayclass &disp, cgiargsclass &args,
57 ostream &logout);
58
59 text_t get_source_box (text_t inputarglist, int numboxes,
60 text_t inputtypelist);
61
62 void set_cfgfile (displayclass &disp, cgiargsclass &args, ostream &logout);
63
64 void set_statusline (displayclass &disp, cgiargsclass &args, ostream &logout);
65
66 void update_cfgfile_clone (cgiargsclass &args, ostream &logout);
67
68 void update_cfgfile_partial (cgiargsclass &args, bool clone, ostream &logout);
69
70 void update_cfgfile_complete (cgiargsclass &args, ostream &logout);
71
72 text_t carriage_replace (const text_t &intext, int sw);
73
74 text_t get_directory_name (const text_t &fullname);
75
76 bool collection_protected (const text_t &collection);
77
78 void assign_tmpname (cgiargsclass &args, ostream &logout);
79
80 void gsdl_mkcol (cgiargsclass &args, ostream &logout);
81
82 void gsdl_build (cgiargsclass &args, ostream &logout);
83
84 void gsdl_cancel_build (cgiargsclass &args, ostream &logout);
85
86 text_t get_collectdir (cgiargsclass &args);
87
88 bool uses_weird_plugin (const text_t &collection);
89
90 void create_colserver (const text_t &collection, ostream &logout);
91
92 void remove_colservr (const text_t &collection, ostream &logout);
93
94 bool create_event_header_file (const text_t &filename, cgiargsclass &args,
95 ostream &logout);
96
97 text_t get_event_header (cgiargsclass &args);
98
99 bool check_sources (cgiargsclass &args, ostream &logout);
100
101 text_t format_url (const text_t &url);
102
103 text_t remove_trailing_slashes (text_t str);
104
105public:
106 collectoraction ();
107 virtual ~collectoraction ();
108
109 void configure (const text_t &key, const text_tarray &cfgline);
110
111 bool init (ostream &logout);
112
113 void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
114
115 text_t get_action_name () {return "collector";}
116
117 bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
118 ostream &logout);
119
120 void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
121 response_t &response,text_t &response_data,
122 ostream &logout);
123
124 void define_internal_macros (displayclass &disp, cgiargsclass &args,
125 recptprotolistclass *protos, ostream &logout);
126
127 bool do_action (cgiargsclass &args, recptprotolistclass *protos,
128 browsermapclass *browsers, displayclass &disp,
129 outconvertclass &outconvert, ostream &textout,
130 ostream &logout);
131};
132
133
134#endif
Note: See TracBrowser for help on using the repository browser.