summaryrefslogtreecommitdiffstats
path: root/src/TUI
diff options
context:
space:
mode:
authorZdenek Prikryl <zprikryl@redhat.com>2009-06-17 11:48:43 +0200
committerZdenek Prikryl <zprikryl@redhat.com>2009-06-17 11:48:43 +0200
commit536c0b4efe3d20bb3351e01e8540730bfbce1eef (patch)
treedae4d37fc2281ae3d2e65f311d9184732dfa3c3e /src/TUI
parent8e8558fd67905923d0f0b6b1c081faa4ef4267ff (diff)
downloadabrt-536c0b4efe3d20bb3351e01e8540730bfbce1eef.tar.gz
abrt-536c0b4efe3d20bb3351e01e8540730bfbce1eef.tar.xz
abrt-536c0b4efe3d20bb3351e01e8540730bfbce1eef.zip
remaned to proper name (Command Line Interface)
Diffstat (limited to 'src/TUI')
-rw-r--r--src/TUI/ABRTSocket.cpp130
-rw-r--r--src/TUI/ABRTSocket.h29
-rw-r--r--src/TUI/Cmd.cpp177
-rw-r--r--src/TUI/Makefile.am3
4 files changed, 0 insertions, 339 deletions
diff --git a/src/TUI/ABRTSocket.cpp b/src/TUI/ABRTSocket.cpp
deleted file mode 100644
index a699bbd..0000000
--- a/src/TUI/ABRTSocket.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "ABRTSocket.h"
-#include "ABRTException.h"
-#include "CrashTypesSocket.h"
-
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <string.h>
-
-CABRTSocket::CABRTSocket() :
- m_nSocket(-1)
-{}
-
-CABRTSocket::~CABRTSocket()
-{
- DisConnect();
-}
-
-void CABRTSocket::Send(const std::string& pMessage)
-{
- int ret = 0;
- int len = pMessage.length();
- int offset = 0;
- char* message = new char[len + 3];
- memcpy(message, pMessage.c_str(), len);
- message[len] = MESSAGE_END_MARKER;
- message[len + 1] = '\n';
- message[len + 2] = '\0';
-
- while (ret != strlen(message + offset))
- {
- offset += ret;
- ret = send(m_nSocket, message + offset, strlen(message + offset), 0);
- if (ret == -1)
- {
- throw CABRTException(EXCEP_FATAL, "CABRTSocket::Send(): Can not send data");
- }
- }
- delete[] message;
-}
-
-void CABRTSocket::Recv(std::string& pMessage)
-{
- std::string message;
- bool receivingMessage = true;
- char buff[1];
- int ret;
-
- pMessage = "";
- while (receivingMessage)
- {
- ret = recv(m_nSocket, buff, 1, 0);
- if (ret == -1)
- {
- throw CABRTException(EXCEP_FATAL, "CABRTSocket::Recv(): Can not recv data");
- }
- else if (ret == 0)
- {
- throw CABRTException(EXCEP_FATAL, "CABRTSocket::Recv(): Connection closed by abrt server");
- }
-
- message += buff[0];
-
- if (message.length() > 2 &&
- message[message.length() - 2] == MESSAGE_END_MARKER &&
- message[message.length() - 1] == '\n')
- {
- receivingMessage = false;
- message = message.substr(0, message.length() - 2);
- }
- }
- pMessage = message;
-}
-
-
-void CABRTSocket::Connect(const std::string& pPath)
-{
- int len;
- struct sockaddr_un remote;
- if ((m_nSocket = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- {
- throw CABRTException(EXCEP_FATAL, "CABRTSocket::Connect(): Can not create socket");
- }
- remote.sun_family = AF_UNIX;
- strcpy(remote.sun_path, pPath.c_str());
- len = strlen(remote.sun_path) + sizeof(remote.sun_family);
- if (connect(m_nSocket, (struct sockaddr *)&remote, len) == -1)
- {
- throw CABRTException(EXCEP_FATAL, "CABRTSocket::Connect(): Can not connect to remote");
- }
-}
-
-void CABRTSocket::DisConnect()
-{
- if (m_nSocket != -1)
- {
- close(m_nSocket);
- }
-}
-
-vector_crash_infos_t CABRTSocket::GetCrashInfos()
-{
- std::string message = MESSAGE_GET_CRASH_INFOS;
- Send(message);
- Recv(message);
- message.erase(0, sizeof(MESSAGE_GET_CRASH_INFOS) - 1);
- return string_to_crash_infos(message);
-}
-
-map_crash_report_t CABRTSocket::CreateReport(const std::string &pUUID)
-{
- std::string message = MESSAGE_CREATE_REPORT + pUUID;
- Send(message);
- Recv(message);
- message.erase(0, sizeof(MESSAGE_CREATE_REPORT) - 1);
- return string_to_crash_report(message);
-}
-
-void CABRTSocket::Report(map_crash_report_t pReport)
-{
- std::string message = MESSAGE_REPORT + crash_report_to_string(pReport);
- Send(message);
-}
-
-void CABRTSocket::DeleteDebugDump(const std::string& pUUID)
-{
- std::string message = MESSAGE_DELETE_DEBUG_DUMP + pUUID;
- Send(message);
-}
diff --git a/src/TUI/ABRTSocket.h b/src/TUI/ABRTSocket.h
deleted file mode 100644
index 6e8a777..0000000
--- a/src/TUI/ABRTSocket.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef ABRTSOCKET_H_
-#define ABRTSOCKET_H_
-
-#include <string>
-
-#include "CrashTypes.h"
-
-class CABRTSocket
-{
- private:
- int m_nSocket;
-
- void Send(const std::string& pMessage);
- void Recv(std::string& pMessage);
-
- public:
- CABRTSocket();
- ~CABRTSocket();
-
- void Connect(const std::string& pPath);
- void DisConnect();
-
- vector_crash_infos_t GetCrashInfos();
- map_crash_report_t CreateReport(const std::string& pUUID);
- void Report(map_crash_report_t pReport);
- void DeleteDebugDump(const std::string& pUUID);
-};
-
-#endif /* ABRTSOCKET_H_ */
diff --git a/src/TUI/Cmd.cpp b/src/TUI/Cmd.cpp
deleted file mode 100644
index 0700ebf..0000000
--- a/src/TUI/Cmd.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-#include "ABRTSocket.h"
-#include "ABRTException.h"
-#include <iostream>
-
-#include <string.h>
-
-#define SOCKET_PATH "/tmp/abrt.socket"
-
-typedef enum {HELP,
- GET_LIST,
- GET_LIST_FULL,
- REPORT,
- REPORT_ALWAYS,
- DELETE} param_mode_t;
-
-typedef struct param_s
-{
- param_mode_t m_Mode;
- char* m_sUUID;
-} param_t;
-
-void print_usage(char* pProgramName)
-{
- std::cout << pProgramName << " [OPTION]" << std::endl << std::endl;
- std::cout << "[OPTION]" << std::endl;
- std::cout << "\t--help - prints this text" << std::endl;
- std::cout << "\t--get-list - prints list of crashes which are not reported" << std::endl;
- std::cout << "\t--get-list-full - prints list of all crashes" << std::endl;
- std::cout << "\t--report <uuid> - create and send a report" << std::endl;
- std::cout << "\t--report-always <uuid> - create and send a report without asking" << std::endl;
- std::cout << "\t--delete <uuid> - delete crash" << std::endl;
-}
-
-void parse_args(int argc, char** argv, param_t& param)
-{
- if (argc == 2)
- {
- if (!strcmp(argv[1], "--help") || !strcmp(argv[1], "--version"))
- {
- param.m_Mode = HELP;
- }
- else if (!strcmp(argv[1], "--get-list"))
- {
- param.m_Mode = GET_LIST;
- }
- else if (!strcmp(argv[1], "--get-list-full"))
- {
- param.m_Mode = GET_LIST_FULL;
- }
- else
- {
- param.m_Mode = HELP;
- }
- }
- else if (argc == 3)
- {
- if (!strcmp(argv[1], "--report"))
- {
- param.m_Mode = REPORT;
- param.m_sUUID = argv[2];
- }
- else if (!strcmp(argv[1], "--report-always"))
- {
- param.m_Mode = REPORT_ALWAYS;
- param.m_sUUID = argv[2];
- }
- else if (!strcmp(argv[1], "--delete"))
- {
- param.m_Mode = DELETE;
- param.m_sUUID = argv[2];
- }
- else
- {
- param.m_Mode = HELP;
- }
- }
- else
- {
- param.m_Mode = HELP;
- }
-}
-
-void print_crash_infos(const vector_crash_infos_t& pCrashInfos,
- const param_mode_t& pMode)
-{
- unsigned int ii;
- for (ii = 0; ii < pCrashInfos.size(); ii++)
- {
- if (pCrashInfos[ii].find(CD_REPORTED)->second[CD_CONTENT] != "1" || pMode == GET_LIST_FULL)
- {
- std::cout << ii << ". " << std::endl;
- std::cout << "\tUID : " << pCrashInfos[ii].find(CD_UID)->second[CD_CONTENT] << std::endl;
- std::cout << "\tUUID : " << pCrashInfos[ii].find(CD_UUID)->second[CD_CONTENT] << std::endl;
- std::cout << "\tPackage : " << pCrashInfos[ii].find(CD_PACKAGE)->second[CD_CONTENT] << std::endl;
- std::cout << "\tExecutable: " << pCrashInfos[ii].find(CD_EXECUTABLE)->second[CD_CONTENT] << std::endl;
- std::cout << "\tCrash time: " << pCrashInfos[ii].find(CD_TIME)->second[CD_CONTENT] << std::endl;
- std::cout << "\tCrash Rate: " << pCrashInfos[ii].find(CD_COUNT)->second[CD_CONTENT] << std::endl;
- }
- }
-}
-
-void print_crash_report(const map_crash_report_t& pCrashReport)
-{
- map_crash_report_t::const_iterator it;
- for (it = pCrashReport.begin(); it != pCrashReport.end(); it++)
- {
- if (it->second[CD_TYPE] != CD_SYS)
- {
- std::cout << std::endl << it->first << std::endl;
- std::cout << "-----" << std::endl;
- std::cout << it->second[CD_CONTENT] << std::endl;
- }
- }
-}
-
-int main(int argc, char** argv)
-{
- CABRTSocket ABRTSocket;
- vector_crash_infos_t ci;
- map_crash_report_t cr;
- param_t param;
- std::string answer = "n";
-
- parse_args(argc, argv, param);
-
- if (param.m_Mode == HELP)
- {
- print_usage(argv[0]);
- return 1;
- }
-
- try
- {
- ABRTSocket.Connect(SOCKET_PATH);
-
- switch (param.m_Mode)
- {
- case GET_LIST:
- ci = ABRTSocket.GetCrashInfos();
- print_crash_infos(ci, GET_LIST);
- break;
- case GET_LIST_FULL:
- ci = ABRTSocket.GetCrashInfos();
- print_crash_infos(ci, GET_LIST_FULL);
- break;
- case REPORT:
- cr = ABRTSocket.CreateReport(param.m_sUUID);
- print_crash_report(cr);
- std::cout << std::endl << "Do you want to send the report? [y/n]: ";
- std::flush(std::cout);
- std::cin >> answer;
- if (answer == "Y" || answer == "y")
- {
- ABRTSocket.Report(cr);
- }
- break;
- case REPORT_ALWAYS:
- cr = ABRTSocket.CreateReport(param.m_sUUID);
- ABRTSocket.Report(cr);
- break;
- case DELETE:
- ABRTSocket.DeleteDebugDump(param.m_sUUID);
- break;
- default:
- print_usage(argv[0]);
- break;
- }
-
- ABRTSocket.DisConnect();
- }
- catch (CABRTException& e)
- {
- std::cout << e.what() << std::endl;
- }
-
- return 0;
-}
diff --git a/src/TUI/Makefile.am b/src/TUI/Makefile.am
deleted file mode 100644
index cfc16df..0000000
--- a/src/TUI/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-bin_PROGRAMS = abrt-cmd
-abrt_cmd_SOURCES = ABRTSocket.cpp ABRTSocket.h Cmd.cpp
-abrt_cmd_CPPFLAGS = -I$(srcdir)/../../inc \ No newline at end of file