00001
00002
00003
00004
00005
00006 #ifndef OC_ADMIN_PROXY_H
00007 #define OC_ADMIN_PROXY_H
00008
00009 #include <cstdio>
00010 #include <string>
00011 #include "ocSocket.h"
00012
00013
00014
00015 class ocAdminProxy
00016 {
00017 private:
00018
00019 string command;
00020 bool isOK( string ret ){ return ret=="good\n"?true:false; }
00021
00022 public:
00023
00024 ocAdminProxy(){;}
00025 virtual ~ocAdminProxy(){;}
00026
00027
00028 bool addUser( string user, string pwd, string home, string grp )
00029 {
00030 ocSocket sock( "127.0.0.1", 50001 );
00031 command = "au,";
00032 command += user;
00033 command += ",";
00034 command += pwd;
00035 command += ",";
00036 command += home;
00037 command += ",";
00038 command += grp;
00039 command += "\n";
00040 sock.Write(command.c_str(), command.length());
00041 return isOK(sock.ReadLine());
00042
00043 }
00044 bool changePassword( string user, string pwd )
00045 {
00046 ocSocket sock( "127.0.0.1", 50001 );
00047 command = "cp,";
00048 command += user;
00049 command += ",";
00050 command += pwd;
00051 command += "\n";
00052 sock.Write(command.c_str(), command.length());
00053 return isOK(sock.ReadLine());
00054 }
00055 bool deactivateUser( string user )
00056 {
00057 return false;
00058 }
00059 bool deleteUser( string user )
00060 {
00061 ocSocket sock( "127.0.0.1", 50001 );
00062 command = "du,";
00063 command += user;
00064 command += "\n";
00065 sock.Write(command.c_str(), command.length());
00066 return isOK(sock.ReadLine());
00067 }
00068 bool addGroup( string group )
00069 {
00070 ocSocket sock( "127.0.0.1", 50001 );
00071 command = "ag,";
00072 command += group;
00073 command += "\n";
00074 sock.Write(command.c_str(), command.length());
00075 return isOK(sock.ReadLine());
00076 }
00077 bool deleteGroup( string group )
00078 {
00079 ocSocket sock( "127.0.0.1", 50001 );
00080 command = "dg,";
00081 command += group;
00082 command += "\n";
00083 sock.Write(command.c_str(), command.length());
00084 return isOK(sock.ReadLine());
00085 }
00086
00087 };
00088
00089 #endif
00090