create printer class
This commit is contained in:
parent
6f5e0584bf
commit
ce696f676a
55
include/printer.h
Normal file
55
include/printer.h
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/**
|
||||||
|
* @file printer.h
|
||||||
|
* @brief Send drive data to printer service using ipc msg queue
|
||||||
|
* @author Hendrik Schutter
|
||||||
|
* @date 24.11.2022
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PRINTER_H_
|
||||||
|
#define PRINTER_H_
|
||||||
|
|
||||||
|
#include "reHDD.h"
|
||||||
|
|
||||||
|
#define STR_BUFFER_SIZE 64U
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char caDriveIndex[STR_BUFFER_SIZE];
|
||||||
|
char caDriveHours[STR_BUFFER_SIZE];
|
||||||
|
char caDriveCycles[STR_BUFFER_SIZE];
|
||||||
|
char caDriveErrors[STR_BUFFER_SIZE];
|
||||||
|
char caDriveShredTimestamp[STR_BUFFER_SIZE];
|
||||||
|
char caDriveShredDuration[STR_BUFFER_SIZE];
|
||||||
|
char caDriveCapacity[STR_BUFFER_SIZE];
|
||||||
|
char caDriveState[STR_BUFFER_SIZE];
|
||||||
|
char caDriveModelFamiliy[STR_BUFFER_SIZE];
|
||||||
|
char caDriveModelName[STR_BUFFER_SIZE];
|
||||||
|
char caDriveSerialnumber[STR_BUFFER_SIZE];
|
||||||
|
char caDriveReHddVersion[STR_BUFFER_SIZE];
|
||||||
|
|
||||||
|
} t_driveData;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
long msg_queue_type;
|
||||||
|
t_driveData driveData;
|
||||||
|
} t_msgQueueData;
|
||||||
|
|
||||||
|
|
||||||
|
class Printer
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
public:
|
||||||
|
static Printer* getPrinter();
|
||||||
|
void print();
|
||||||
|
|
||||||
|
private:
|
||||||
|
static bool instanceFlag;
|
||||||
|
static Printer *single;
|
||||||
|
Printer();
|
||||||
|
~Printer();
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif // PRINTER_H_
|
@ -64,6 +64,7 @@ using namespace std;
|
|||||||
#include "shred.h"
|
#include "shred.h"
|
||||||
#include "delete.h"
|
#include "delete.h"
|
||||||
#include "tui.h"
|
#include "tui.h"
|
||||||
|
#include "printer.h"
|
||||||
#include "logger/logger.h"
|
#include "logger/logger.h"
|
||||||
|
|
||||||
extern Logger* logging;
|
extern Logger* logging;
|
||||||
|
@ -18,8 +18,6 @@ Logger* Logger::single = NULL;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief create new logger instance
|
* \brief create new logger instance
|
||||||
* \param path to log file
|
|
||||||
* \param struct with data
|
|
||||||
* \return instance of Logger
|
* \return instance of Logger
|
||||||
*/
|
*/
|
||||||
Logger::Logger()
|
Logger::Logger()
|
||||||
|
59
src/printer.cpp
Normal file
59
src/printer.cpp
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/**
|
||||||
|
* @file printer.cpp
|
||||||
|
* @brief Send drive data to printer service using ipc msg queue
|
||||||
|
* @author Hendrik Schutter
|
||||||
|
* @date 24.11.2022
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../include/reHDD.h"
|
||||||
|
|
||||||
|
|
||||||
|
bool Printer::instanceFlag = false;
|
||||||
|
Printer* Printer::single = NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief create new Printer instance
|
||||||
|
* \param path to log file
|
||||||
|
* \param struct with data
|
||||||
|
* \return instance of Printer
|
||||||
|
*/
|
||||||
|
Printer::Printer()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief deconstructor
|
||||||
|
* \return void
|
||||||
|
*/
|
||||||
|
Printer::~Printer()
|
||||||
|
{
|
||||||
|
instanceFlag = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief send data to msg queue
|
||||||
|
* \return void
|
||||||
|
*/
|
||||||
|
void Printer::print(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief return a instance of the printer
|
||||||
|
* \return printer obj
|
||||||
|
*/
|
||||||
|
Printer* Printer::getPrinter()
|
||||||
|
{
|
||||||
|
if (!instanceFlag)
|
||||||
|
{
|
||||||
|
single = new Printer(); //create new obj
|
||||||
|
instanceFlag = true;
|
||||||
|
return single;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return single; //return existing obj
|
||||||
|
}
|
||||||
|
}
|
@ -202,6 +202,7 @@ int Shred::shredDrive(Drive* drive, int* ipSignalFd)
|
|||||||
{
|
{
|
||||||
drive->state= Drive::NONE;
|
drive->state= Drive::NONE;
|
||||||
drive->setTaskPercentage(0.0);
|
drive->setTaskPercentage(0.0);
|
||||||
|
Printer::getPrinter()->print();
|
||||||
Logger::logThis()->info("Finished shred/check for: " + drive->getModelName() + "-" + drive->getSerial());
|
Logger::logThis()->info("Finished shred/check for: " + drive->getModelName() + "-" + drive->getSerial());
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user