ClientInterface.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #include "ClientInterface.hpp"
  14. ClientInterface::ClientInterface(Uint32 maxNoOfCPCD) {
  15.   sr = new SocketRegistry<SocketService>(maxNoOfCPCD);
  16.   ss = new SocketService();
  17. }
  18. ClientInterface::~ClientInterface() {
  19.   delete sr;
  20.   delete ss;
  21. }
  22. void ClientInterface::connectCPCDdaemon(const char * remotehost, Uint16 port)
  23. {
  24.   sr->createSocketClient(remotehost, port);
  25. }
  26. void ClientInterface::disconnectCPCDdaemon(const char * remotehost)
  27. {
  28.   sr->removeSocketClient(remotehost);
  29. }
  30. void ClientInterface::removeCPCDdaemon(const char * remotehost)
  31. {
  32.   sr->removeSocketClient(remotehost);
  33. }
  34. void ClientInterface::startProcess(const char * remotehost, char * id) {
  35.   char buf[255] = "start process ";
  36.   char str[80];
  37.   char line[10];
  38.   strcpy(line, id);
  39.   strcpy(str, "id:"); 
  40.   strcat(str, line);
  41.   strcat(str, "nn");
  42.   strcat(buf, str);
  43.   printf("Request: %sn", buf); 
  44.  
  45.   sr->performSend(buf,255,remotehost);
  46.   sr->syncPerformReceive(remotehost, *ss, 0);
  47.   ss->getPropertyObject();
  48. }
  49. void ClientInterface::stopProcess(const char * remotehost, char * id) {
  50.   char buf[255] = "stop process ";
  51.   char str[80];  
  52.   char line[10];
  53.   strcpy(line, id);
  54.   strcpy(str, "id:"); 
  55.   strcat(str, line);
  56.   strcat(str, "nn");
  57.   strcat(buf, str);
  58.   printf("Request: %sn", buf); 
  59.   sr->performSend(buf,255,remotehost);
  60.   sr->syncPerformReceive(remotehost, *ss, 0);
  61.   ss->getPropertyObject();
  62. }
  63. void ClientInterface::defineProcess(const char * remotehost, char * name, 
  64.     char * group, char * env, char * path, 
  65.     char * args, char * type, char * cwd, char * owner){
  66.   char buf[255] = "define process ";
  67.   char str[80];
  68.   char line[10];
  69.  
  70.   strcpy(line, name);
  71.   strcpy(str, "name:");
  72.   strcat(str, line);
  73.   strcat(buf, str);
  74.   strcat(buf, " n");
  75.   strcpy(line, group);
  76.   strcpy(str, "group:");
  77.   strcat(str, line);
  78.   strcat(buf, str);
  79.   strcat(buf, " n");
  80.   strcpy(line, env);
  81.   strcpy(str, "env:");
  82.   strcat(str, line);
  83.   strcat(buf, str);
  84.   strcat(buf, " n");
  85.   strcpy(line, path);
  86.   strcpy(str, "path:"); 
  87.   strcat(str, line);
  88.   strcat(buf, str);
  89.   strcat(buf, " n");
  90.   strcpy(line, args);
  91.   strcpy(str, "args:");
  92.   strcat(str, line);
  93.   strcat(buf, str);
  94.   strcat(buf, " n");
  95.   strcpy(line, type);
  96.   strcpy(str, "type:");
  97.   strcat(str, line);
  98.   strcat(buf, str);
  99.   strcat(buf, " n");
  100.   
  101.   strcpy(line, cwd);
  102.   strcpy(str, "cwd:");
  103.   strcat(str, line);
  104.   strcat(buf, str);
  105.   strcat(buf, " n");
  106.   strcpy(line, owner);
  107.   strcpy(str, "owner:");
  108.   strcat(str, line);
  109.   strcat(buf, str); 
  110.   strcat(buf, "nn");
  111.   printf("Request: %sn", buf); 
  112.   sr->performSend(buf,255,remotehost);
  113.   sr->syncPerformReceive(remotehost, *ss, 0);
  114.   ss->getPropertyObject();
  115. }
  116. void ClientInterface::undefineProcess(const char * remotehost, char * id){
  117.   char buf[255] = "undefine process ";
  118.   char str[80];
  119.   char line[10];
  120.   strcpy(line, id);
  121.   strcpy(str, "id:"); 
  122.   strcat(str, line);
  123.   strcat(str, "nn");
  124.   strcat(buf, str);
  125.   printf("Request: %sn", buf); 
  126.   sr->performSend(buf,255,remotehost);
  127.   sr->syncPerformReceive(remotehost, *ss, 0);
  128.   ss->getPropertyObject();
  129. }
  130. void ClientInterface::listProcesses(const char * remotehost) {
  131.   char buf[255]="list processesnn"; 
  132.   printf("Request: %sn", buf);
  133.   sr->performSend(buf,255,remotehost);
  134.   sr->syncPerformReceive(remotehost, *ss, 0);
  135.   ss->getPropertyObject();
  136. }
  137. void ClientInterface::showProcess(const char * remotehost, char * id) {
  138.   char buf[255] = "show process ";
  139.   char str[80];
  140.   char line[10];
  141.   strcpy(line, id);
  142.   strcpy(str, "id:"); 
  143.   strcat(str, line);
  144.   strcat(str, "nn");
  145.   strcat(buf, str);
  146.   printf("Request: %sn", buf); 
  147.  
  148.   sr->performSend(buf,255,remotehost);
  149.   sr->syncPerformReceive(remotehost, *ss, 0);
  150.   ss->getPropertyObject();
  151. }