source: gsdl/trunk/src/recpt/authenaction.h@ 15597

Last change on this file since 15597 was 14269, checked in by qq6, 17 years ago

Jeffrey has fixed operating records of users database on Windows

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1/**********************************************************************
2 *
3 * authenaction.h -- authenticating users
4 * Copyright (C) 1999 DigiLib Systems Limited, New Zealand
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#include "gsdl_modules_cfg.h"
27#ifdef GSDL_USE_AUTHEN_ACTION
28
29#ifndef AUTHENACTION_H
30#define AUTHENACTION_H
31
32#include "gsdlconf.h"
33#include "action.h"
34#include "text_t.h"
35#include "userdb.h"
36#include "receptionist.h"
37
38
39// note: you need to tell this action about the receptionist
40// using set_receptionist
41
42class authenaction : public action {
43protected:
44 userdbclass *user_database;
45 keydbclass *key_database;
46 int keydecay;
47
48 receptionist *recpt;
49
50public:
51 authenaction ();
52 virtual ~authenaction () {}
53
54 void set_userdb(userdbclass *udb) {user_database = udb;}
55
56 void set_keydb (keydbclass *kdb) {key_database = kdb;}
57
58 void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
59
60 void configure (const text_t &key, const text_tarray &cfgline);
61
62 bool init (ostream &logout);
63
64 text_t get_action_name () {return "a";}
65
66 bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args,
67 recptprotolistclass *protos, ostream &logout);
68
69 bool check_external_cgiargs (cgiargsinfoclass &argsinfo,
70 cgiargsclass &args,
71 outconvertclass &outconvert,
72 const text_t &saveconf,
73 ostream &logout);
74
75 void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
76 response_t &response, text_t &response_data,
77 ostream &logout);
78
79 void define_internal_macros (displayclass &disp, cgiargsclass &args,
80 recptprotolistclass *protos, ostream &logout);
81
82 bool do_action (cgiargsclass &args, recptprotolistclass *protos,
83 browsermapclass *browsers, displayclass &disp,
84 outconvertclass &outconvert, ostream &textout,
85 ostream &logout);
86};
87
88#endif //!AUTHENACTION_H
89#endif //GSDL_USE_AUTHEN_ACTION
Note: See TracBrowser for help on using the repository browser.