Przeglądaj źródła

change fwadmin. not complete.

yuchuli 1 rok temu
rodzic
commit
f249465f16

+ 56 - 0
src/tool/fwupdate_admin/mainwindowadminuser.cpp

@@ -21,6 +21,8 @@ MainWindowAdminUser::MainWindowAdminUser(QWidget *parent) :
 {
     ui->setupUi(this);
 
+    connect(this,SIGNAL(adminstate(int,const char*)),this,SLOT(onadminstate(int,const char *)));
+
     setWindowTitle("Admin User");
 }
 
@@ -52,6 +54,8 @@ void MainWindowAdminUser::on_pushButton_clicked()
     {
         xreq.set_data(pstr_ptr.get(),ndatasize);
 
+        mAdminType = xadminreq.admintype();
+        mstrusername = xadminreq.username();
         mpthread = new std::thread(&MainWindowAdminUser::threadadmin,this,xreq);
         DisableAllButton();
     }
@@ -67,6 +71,7 @@ void MainWindowAdminUser::on_pushButton_clicked()
 void MainWindowAdminUser::threadadmin(iv::queryrpcReq  xreq)
 {
     int i;
+
     for(i=0;i<3;i++)
     {
         int nreq = gpgrpcfwclient->SetReq(xreq);
@@ -144,10 +149,61 @@ void MainWindowAdminUser::EnableAllButton()
 
 void MainWindowAdminUser::on_pushButton_Query_clicked()
 {
+    std::string struser = ui->lineEdit_queryname->text().toStdString();
     if(ui->lineEdit_queryname->text().length() == 0)
     {
         QMessageBox::warning(this,tr("Warning"),tr("Query User Name is NULL."),QMessageBox::YesAll);
         return;
     }
 
+    iv::fw::adminreq xadminreq;
+    xadminreq.set_admintype(iv::fw::ADMINREQ_TYPE::QUERYUSER);
+    xadminreq.set_username(struser);
+
+    iv::queryrpcReq xreq;
+    xreq.set_ntype(iv::CommonRPCType::USERADMIN);
+    int ndatasize = xadminreq.ByteSize();
+    xreq.set_ndatasize(ndatasize);
+    std::shared_ptr<char> pstr_ptr = std::shared_ptr<char>(new char[ndatasize]);
+    if(xadminreq.SerializeToArray(pstr_ptr.get(),ndatasize))
+    {
+        xreq.set_data(pstr_ptr.get(),ndatasize);
+
+        mAdminType = xadminreq.admintype();
+        mstrusername = xadminreq.username();
+        mpthread = new std::thread(&MainWindowAdminUser::threadadmin,this,xreq);
+        DisableAllButton();
+    }
+    else
+    {
+        QMessageBox::warning(this,tr("Warning"),tr("admin serialize fail."),QMessageBox::YesAll);
+        return;
+    }
+
+}
+
+void MainWindowAdminUser::onadminstate(int nstate, const char *strerr)
+{
+    if(nstate == 1)
+    {
+        if(mAdminType == iv::fw::ADMINREQ_TYPE::QUERYUSER)
+        {
+            ui->lineEdit_UserName->setText(QString::fromStdString(mstrusername));
+            ui->dateTimeEdit_valid->setDateTime(QDateTime::fromString(QString::fromStdString(mstrvalidtime),"yyyy-MM-dd hh:mm:ss"));
+            QMessageBox::information(this,tr("Successs"),tr("Query User Success."),QMessageBox::YesAll);
+        }
+        if(mAdminType == iv::fw::ADMINREQ_TYPE::ADDUSER)
+        {
+            QMessageBox::information(this,tr("Successs"),tr("Add User Success."),QMessageBox::YesAll);
+        }
+    }
+    else
+    {
+        if(nstate == 0)
+        {
+            QMessageBox::warning(this,"Warning",strerr,QMessageBox::YesAll);
+        }
+    }
+
+    EnableAllButton();
 }

+ 5 - 0
src/tool/fwupdate_admin/mainwindowadminuser.h

@@ -25,6 +25,8 @@ private slots:
 
     void on_pushButton_Query_clicked();
 
+    void onadminstate(int nstate, const char * strerr);
+
 signals:
     void adminstate(int nstate,const char * strerr);
 
@@ -42,6 +44,9 @@ private:
     char mstrlasterr[256];
 
     std::string mstrvalidtime;
+
+    iv::fw::ADMINREQ_TYPE mAdminType;
+    std::string mstrusername;
 };
 
 #endif // MAINWINDOWADMINUSER_H

+ 1 - 1
src/tool/fwupdate_admin/mainwindowlogin.cpp

@@ -3,7 +3,7 @@
 
 #include <QMessageBox>
 
-#include "fwlogin.pb.h"
+
 
 #include "grpcfwclient.h"
 

+ 1 - 0
src/tool/fwupdate_admin/mainwindowlogin.h

@@ -7,6 +7,7 @@
 
 
 #include "commonrpc.pb.h"
+#include "fwlogin.pb.h"
 
 namespace Ui {
 class MainWindowLogin;