DocumentationGenerated on Thu Aug 31 00:02:30 2006 |
||
User.hGo to the documentation of this file.00001 00002 // $Id: User.h,v 1.100 2005/08/24 21:07:45 klas Exp $ 00003 // 00004 // Usage: Holds information about connected users. 00005 // 00006 // A part of babyftpd, licensed under the GNU GPL, see the file 00007 // LICENSE for complete information. 00009 00010 #ifndef USER_H 00011 #define USER_H 00012 00013 #ifdef USER_CPP 00014 #include "generic.h" 00015 #include "Utilities.h" 00016 #include "Configuration.h" 00017 #include "Log.h" 00018 #include "Connection.h" 00019 #include "Data.h" 00020 #include "Commands.h" 00021 #endif 00022 00023 enum logged { NOT_LOGGED_IN, USER_SUPPLIED, LOGGED_IN }; 00024 00025 class User : public Connection 00026 { 00027 public: 00028 User(int socket_id, struct sockaddr_in &addr); 00029 vector<Data*>::iterator get_data_it(pthread_t); 00030 User &operator>>(string &message); 00031 bool data_vec_full(); 00032 bool login(); 00033 ~User(); 00034 vector<Data*> data_vec; 00035 MEMBER(logged_in, int); 00036 MEMBER(data_id, int); 00037 MEMBER(data_addr, struct sockaddr_in); 00038 MEMBER(current_dir, string); 00039 MEMBER(root_dir, string); 00040 MEMBER(temp_buf, string); // is this for anything but rename? 00041 MEMBER(failed_logins, int); 00042 MEMBER(pamh, pam_handle_t*); 00043 MEMBER(rest_pos, off_t); 00044 MEMBER(anonymous_id, string); 00045 }; 00046 00047 vector<User*>::iterator get_user_it(pthread_t); 00048 void kill_user(void*); 00049 00050 extern pthread_key_t my_user; 00051 extern pthread_rwlock_t user_list_lock; 00052 extern vector<User*> user_list; 00053 00054 #endif // USER_H |
- Copyright © 2005, BabyFTPd
- Powered by: