usermanager.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef __USERMANAGER_H_
  2. #define __USERMANAGER_H_
  3. #include<sys/types.h>
  4. #include<sys/socket.h>
  5. #include<list>
  6. #include<vector>
  7. #include<cstring>
  8. #include"definations.h"
  9. #include<netinet/in.h>
  10. #include<cstdio>
  11. using std::list;
  12. class user_t{
  13. public:
  14. //id
  15. struct sockaddr_in ip;
  16. //information
  17. char sysusrname[100];
  18. char computername[100];
  19. char usrname[100];
  20. char grpname[100];
  21. char macaddr[20];
  22. char space01[10];//
  23. char phone[20];
  24. char mail[100];
  25. char printer[200];
  26. char space02[10];//
  27. char ipaddr[20];
  28. char space03[10];//
  29. char icon[10];
  30. char netstatus[10];
  31. char sign[1000];
  32. bool healthy;
  33. user_t()=default;
  34. user_t(const struct sockaddr_in sai,const char* sname,
  35. const char* cname,const char*str){
  36. ip=sai;
  37. strcpy(sysusrname,sname);
  38. strcpy(computername,cname);
  39. sscanf(str,"%s%s%s%s%s%s%s%s%s%s%s%s%s",
  40. usrname,grpname,macaddr,space01,phone,mail,printer,
  41. space02,ipaddr,space03,icon,netstatus,sign);
  42. }
  43. user_t(const user_t& src);
  44. user_t& operator=(const user_t& src);
  45. };
  46. class UserManager{
  47. private:
  48. UserManager()=default;
  49. static UserManager* instance;
  50. list<user_t> ulist;
  51. public:
  52. user_t myinfo;
  53. static UserManager* getInstance();
  54. int Adduser(user_t& tar);
  55. int Deluser(struct sockaddr_in tar);
  56. int Finduser(user_t& tar,const struct sockaddr_in src);
  57. int Finduser(user_t& tar,unsigned int src);
  58. int GetUserCopy(list<user_t>& src);
  59. int UserIllness(void);
  60. };
  61. #endif