📄 main.cpp
字号:
RESULT DoUserList(CAccount * pAccount){ int ret = 0; COMMAND resp; PARAMETER param; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; do{ memset((char *)¶m, 0, sizeof(PARAMETER)); resp = USER_LIST; do{ ret = pAccount->GetNameAtPasswd(param.index[0]); }while(ret < 0); if(ret){ OutputDebugString("finded user : ", param.index[0]); if(g_Sock.Send((char *)&resp, sizeof(COMMAND)) == -1) return _sockfail; if(g_Sock.Send((char *)¶m, sizeof(PARAMETER)) == -1) return _sockfail; } }while(ret); return _success;}RESULT DoAddUser(CAccount * pAccount){ COMMAND resp; PARAMETER param; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(g_Sock.Recv((char *)¶m, sizeof(PARAMETER)) == -1) return _sockfail; if(pAccount->AddUser(param.index[0], param.index[1])) return _success; else return _failed;}RESULT DoDelUser(CAccount * pAccount){ COMMAND resp; PARAMETER param; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); g_Sock.Recv((char *)¶m, sizeof(PARAMETER)); if(pAccount->DelUser(param.index[0])){ pAccount->HomeDirDelete(param.index[0]); return _success; } else return _failed;}*//*RESULT DoPasswd(CAccount * pAccount){ COMMAND resp; PARAMETER param; if(pAccount->GetUserPermision() == PERMISION_DENY) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(g_Sock.Recv((char *)¶m, sizeof(PARAMETER)) == -1) return _sockfail; if(pAccount->Passwd(param.index[0], param.index[1])) return _success; else return _failed;}*/RESULT DoYuvFormat(CAccount * pAccount, int sock){ int iYuvFormat; COMMAND resp; PARAMETER param; pid_t pid; if(pAccount->GetUserPermision() != PERMISION_ADMIN) { pdebug("DoYuvFormat: permision deny\n"); return _permdeny; } memset((char *)¶m, 0, sizeof(PARAMETER)); //if(g_Sock.Recv((char *)¶m, sizeof(PARAMETER)) == -1) { if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoYuvFormat: recv fail\n"); return _sockfail; } memcpy((char *)&iYuvFormat, param.index[0], sizeof(int)); // for Debug pdebug("param: %d\n", iYuvFormat); // end Debug #ifdef USE_MJPEG_DRIVER g_MjpegDrv.YuvFormat(iYuvFormat);// g_MjpegDrv.YuvFormat(param.index[0], param.index[1]);#endif /* pid = getppid(); if(pid == 0 || pid == 1){ OutputDebugString("Camserv not runned."); return _failed; } if(kill(pid, SIGUSR1) == -1) OutputDebugString("kill() call failed."); */ return _success;}RESULT DoVideoQuality(CAccount * pAccount, int sock){ int iQuality; COMMAND resp; PARAMETER param; pid_t pid; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); //if(g_Sock.Recv((char *)¶m, sizeof(PARAMETER)) == -1) if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoVideoQuality(): recv() failed\n"); return _sockfail; } memcpy((char *)&iQuality, param.index[0], sizeof(int));#ifdef USE_MJPEG_DRIVER g_MjpegDrv.Quality(iQuality);// g_MjpegDrv.Quality(param.index[0]);#endif /* pid = getppid(); if(pid == 0 || pid == 1){ OutputDebugString("Camserv not runned."); return _failed; } if(kill(pid, SIGUSR1) == -1) OutputDebugString("kill() call failed."); */ return _success;}RESULT DoJpegRotate(CAccount * pAccount, int sock){ int iRotate; COMMAND resp; PARAMETER param;// pid_t pid; struct msg_st msg; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); //if(g_Sock.Recv((char *)¶m, sizeof(PARAMETER)) == -1) if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoJpegRotate(): recv() failed\n"); return _sockfail; } memcpy((char *)&iRotate, param.index[0], sizeof(int)); pdebug("param: %d\n", iRotate);#ifdef USE_MJPEG_DRIVER g_MjpegDrv.JpegRotate(iRotate);// g_MjpegDrv.Quality(param.index[0]);#endif msg.msg_type = 1; msg.data = (char)iRotate; if (msgsnd(g_msgid, (void *)&msg, sizeof(char), 0) == -1) { fprintf(stderr, "msgsnd fail\n"); exit(-1); } pdebug("setupserv rotate %d\n", msg.data); /* pid = getppid(); if(pid == 0 || pid == 1){ OutputDebugString("Camserv not runned."); return _failed; } if(kill(pid, SIGUSR1) == -1) OutputDebugString("kill() call failed."); */ return _success;}RESULT DoVideoOption(CAccount * pAccount, int sock){ int iTmp; COMMAND resp; PARAMETER param; //int ret; //resp = YUV_FORMAT; resp = VIDEO_MODE; memset((char *)¶m, 0, sizeof(PARAMETER)); iTmp = g_MjpegDrv.GetJpegMode(); memcpy((char *)param.index[0], &iTmp, sizeof(int)); //if(g_Sock.Send((char *)&resp, sizeof(COMMAND)) == -1) if(send(sock, (char *)&resp, sizeof(COMMAND), MSG_NOSIGNAL) == -1) return _sockfail; //if(g_Sock.Send((char *)¶m, sizeof(PARAMETER)) == -1) if(send(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) return _sockfail; resp = VIDEO_QUALITY; memset((char *)¶m, 0, sizeof(PARAMETER)); iTmp = g_MjpegDrv.GetImageQuality(); memcpy((char *)param.index[0], &iTmp, sizeof(int)); //if(g_Sock.Send((char *)&resp, sizeof(COMMAND)) == -1) if(send(sock, (char *)&resp, sizeof(COMMAND), MSG_NOSIGNAL) == -1) return _sockfail; //if(g_Sock.Send((char *)¶m, sizeof(PARAMETER)) == -1) if(send(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) return _sockfail; return _ok;}/* * Video bright */RESULT DoJpegBright(CAccount *pAccount, int sock){ int iBright; COMMAND resp; PARAMETER param; int fd; //struct msg_st msg; /* fd = open(DF_SAA_DRIVER_PATH, O_RDONLY); if(fd < 0) { fprintf(stderr, "can't open /dev/saa"); return _failed; } */ if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoJpegBright(): recv() failed\n"); return _sockfail; } memcpy((char *)&iBright, param.index[0], sizeof(int)); //printf("bright param: %d\n", iBright); /* * ioctl */ /* if(ioctl(fd, SAA_IOCTBRIGHT, (iBright & 0xff)) < 0) fprintf(stderr, "ioctl error"); close(fd); */ return _success;}/* * Video contrast */RESULT DoJpegContrast(CAccount *pAccount, int sock){ int iContrast; COMMAND resp; PARAMETER param; int fd; //struct msg_st msg; /* fd = open(DF_SAA_DRIVER_PATH, O_RDONLY); if(fd < 0) { fprintf(stderr, "can't open /dev/saa"); return _failed; } */ if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoJpegBright(): recv() failed\n"); return _sockfail; } memcpy((char *)&iContrast, param.index[0], sizeof(int)); //printf("contrast param: %d\n", iContrast); /* * ioctl */ /* if(ioctl(fd, SAA_IOCTCONTRAST, (iContrast & 0x7f))<0) fprintf(stderr, "ioctl error"); close(fd); */ return _success;}/* * Camera mount type */RESULT DoCameraMount(CAccount *pAccount, int sock){ int iMount; COMMAND resp; PARAMETER param; struct msg_st msg; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoJpegBright(): recv() failed\n"); return _sockfail; } memcpy((char *)&iMount, param.index[0], sizeof(int)); pdebug("mount param: %d\n", iMount); if(iMount & 0x01) { g_camtype |= 0x02; } else { g_camtype &= ~(0x02); } g_camtype |= 0x08; // Mf set msg.msg_type = 1; msg.data = (char)(g_camtype); if(msgsnd(g_msgid, (void *)&msg, sizeof(char), 0) == -1) { fprintf(stderr, "msgsnd fail\n"); exit(-1); } return _success;}/* * Camera assemble type */RESULT DoCameraAssemble(CAccount *pAccount, int sock){ int iAssemble; COMMAND resp; PARAMETER param; struct msg_st msg; if(pAccount->GetUserPermision() != PERMISION_ADMIN) return _permdeny; memset((char *)¶m, 0, sizeof(PARAMETER)); if(recv(sock, (char *)¶m, sizeof(PARAMETER), MSG_NOSIGNAL) == -1) { pdebug("DoJpegBright(): recv() failed\n"); return _sockfail; } memcpy((char *)&iAssemble, param.index[0], sizeof(int)); pdebug("assemble param: %d\n", iAssemble); if(iAssemble & 0x01) { g_camtype |= 0x01; } else { g_camtype &= ~(0x01); } g_camtype |= 0x04; msg.msg_type = 1; msg.data = (char)(g_camtype); if(msgsnd(g_msgid, (void *)&msg, sizeof(char), 0) == -1) { fprintf(stderr, "msgsnd fail\n"); exit(-1); } return _success;}/*RESULT DoFtpAddr(CAccount * pAccount){ return _ok;}RESULT DoEmailAddr(CAccount * pAccount){ return _ok;}RESULT DoIpAddr(CAccount * pAccount){ return _ok;}RESULT DoPortNum(CAccount * pAccount){ return _ok;}RESULT DoNetmaskAddr(CAccount * pAccount){ return _ok;}RESULT DoGatewayAddr(CAccount * pAccount){ return _ok;}RESULT DoDnsAddr(CAccount * pAccount){ return _ok;}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -