Skip to content

Commit 1592ee4

Browse files
committed
Simplyfying the Interfaces used by protocols
Details: - ProtocolInterface --> I_Protocol - Merging the DataExportingInterface and DataProcessingInterface into I_Protocol - Updating the MDP implementation - Updating the CMDP implementation - Updating the NetworkHandler implementation
1 parent ed08c3f commit 1592ee4

9 files changed

+45
-120
lines changed

application/application.pro

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,17 @@ HEADERS += \
7272
sources/configuration.hpp \
7373
sources/continous_measurement_data_protocol.hpp \
7474
sources/data_connection_interface.hpp \
75-
sources/data_exporting_interface.hpp \
7675
sources/data_line.hpp \
7776
sources/data_point.hpp \
78-
sources/data_processing_interface.hpp \
7977
sources/diagram.hpp \
8078
sources/diagram_container.hpp \
8179
sources/global.hpp \
8280
sources/gui_signal_interface.hpp \
81+
sources/i_protocol.hpp \
8382
sources/main_window.hpp \
8483
sources/measurement_data_protocol.hpp \
8584
sources/network_connection_interface.hpp \
8685
sources/network_handler.hpp \
87-
sources/protocol_interface.hpp \
8886
sources/ordered_dict.h \
8987
sources/serial_port.hpp
9088

application/sources/continous_measurement_data_protocol.cpp

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -193,16 +193,28 @@ std::vector<DiagramSpecialized> ContinousMeasurementDataProtocol::ProcessData(st
193193
return assembled_diagrams;
194194
}
195195

196-
bool ContinousMeasurementDataProtocol::CanThisFileBeProcessed(const std::string path_to_file)
196+
std::stringstream ContinousMeasurementDataProtocol::ExportData(const std::vector<DiagramSpecialized>& diagrams_to_export)
197197
{
198-
bool bResult = false;
198+
(void) diagrams_to_export;
199+
throw("The Continous Measurement Protocol does not support exporting into files!");
200+
}
199201

200-
std::string file_extension = QFileInfo(QString::fromStdString(path_to_file)).completeSuffix().toStdString();
202+
bool ContinousMeasurementDataProtocol::CanThisFileBeProcessed(const std::string path_to_file)
203+
{
204+
(void) path_to_file;
205+
// The CMDP protocol does not support file processing
206+
return false;
207+
}
201208

202-
if(std::string(Constants::native_file_extension) == file_extension)
203-
{
204-
bResult = true;
205-
}
209+
bool ContinousMeasurementDataProtocol::CanThisFileBeExportedInto(const std::string path_to_file)
210+
{
211+
(void) path_to_file;
212+
// The CMDP protocol does not support storing into files
213+
return false;
214+
}
206215

207-
return bResult;
216+
std::string ContinousMeasurementDataProtocol::GetSupportedFileType(void)
217+
{
218+
// The CMDP protocol does not support any file types
219+
return "";
208220
}

application/sources/continous_measurement_data_protocol.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@
3636
#include <QFileInfo>
3737

3838
#include "global.hpp"
39-
#include "protocol_interface.hpp"
40-
#include "data_processing_interface.hpp"
39+
#include "i_protocol.hpp"
4140
#include "diagram.hpp"
4241

4342

@@ -47,7 +46,7 @@
4746

4847

4948

50-
class ContinousMeasurementDataProtocol : public DataProcessingInterface
49+
class ContinousMeasurementDataProtocol : public I_Protocol
5150
{
5251
public:
5352
ContinousMeasurementDataProtocol();
@@ -61,14 +60,15 @@ class ContinousMeasurementDataProtocol : public DataProcessingInterface
6160

6261
virtual std::string GetProtocolName(void) override;
6362
virtual std::vector<DiagramSpecialized> ProcessData(std::istream& input_data) override;
64-
virtual bool CanThisFileBeProcessed(const std::string path_to_file) override;
65-
virtual std::string GetSupportedFileType(void) override {return Constants::native_file_extension;}
63+
virtual std::stringstream ExportData(const std::vector<DiagramSpecialized>& diagrams_to_export);
64+
virtual bool CanThisFileBeProcessed(const std::string path_to_file);
65+
virtual bool CanThisFileBeExportedInto(const std::string path_to_file);
66+
virtual std::string GetSupportedFileType(void);
6667

6768
private:
6869
struct Constants
6970
{
7071
static constexpr char protocol_name[] = "Continous Measurement Data Protocol CMDP";
71-
static constexpr char native_file_extension[] = "cmdp";
7272

7373
enum class States : uint8_t
7474
{

application/sources/data_processing_interface.hpp

Lines changed: 0 additions & 45 deletions
This file was deleted.

application/sources/data_exporting_interface.hpp renamed to application/sources/i_protocol.hpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,27 @@
2121

2222

2323

24-
#include <vector>
2524
#include <string>
25+
#include <vector>
2626

2727
#include "global.hpp"
28-
#include "protocol_interface.hpp"
2928

3029

3130

32-
#ifndef DATA_EXPORTING_INTERFACE_HPP
33-
#define DATA_EXPORTING_INTERFACE_HPP
31+
#ifndef I_PROTOCOL_HPP
32+
#define I_PROTOCOL_HPP
3433

3534

3635

37-
class DataExportingInterface : virtual ProtocolInterface
36+
class I_Protocol
3837
{
3938
public:
39+
virtual std::string GetProtocolName(void) = 0;
40+
virtual std::vector<DiagramSpecialized> ProcessData(std::istream& input_data) = 0;
4041
virtual std::stringstream ExportData(const std::vector<DiagramSpecialized>& diagrams_to_export) = 0;
42+
virtual bool CanThisFileBeProcessed(const std::string path_to_file) = 0;
4143
virtual bool CanThisFileBeExportedInto(const std::string path_to_file) = 0;
4244
virtual std::string GetSupportedFileType(void) = 0;
43-
4445
};
4546

46-
#endif // DATA_EXPORTING_INTERFACE_HPP
47+
#endif // I_PROTOCOL_HPP

application/sources/measurement_data_protocol.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@
3535
#include <QFileInfo>
3636

3737
#include "global.hpp"
38-
#include "protocol_interface.hpp"
39-
#include "data_processing_interface.hpp"
40-
#include "data_exporting_interface.hpp"
38+
#include "i_protocol.hpp"
4139
#include "diagram.hpp"
4240

4341

@@ -47,7 +45,7 @@
4745

4846

4947

50-
class MeasurementDataProtocol : public DataProcessingInterface, public DataExportingInterface
48+
class MeasurementDataProtocol : public I_Protocol
5149
{
5250
public:
5351
MeasurementDataProtocol();

application/sources/network_handler.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ bool NetworkHandler::Run(const std::string& new_port_name)
2929
{
3030
bool result = false;
3131

32-
if(network_connection_interface && data_processing_interface && diagram_collector && error_collector)
32+
if(network_connection_interface && protocol_interface && diagram_collector && error_collector)
3333
{
3434
if(network_connection_interface->Open(new_port_name))
3535
{
@@ -60,7 +60,7 @@ void NetworkHandler::DataAvailable(std::istream& received_data)
6060
{
6161
if(diagram_collector)
6262
{
63-
auto assembled_diagrams = data_processing_interface->ProcessData(received_data);
63+
auto assembled_diagrams = protocol_interface->ProcessData(received_data);
6464

6565
if(!assembled_diagrams.empty())
6666
{

application/sources/network_handler.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
#include "global.hpp"
3232
#include "network_connection_interface.hpp"
33-
#include "data_processing_interface.hpp"
33+
#include "i_protocol.hpp"
3434
#include "diagram.hpp"
3535

3636

@@ -50,11 +50,11 @@ class NetworkHandler : public QObject
5050
using error_collector_type = std::function<void(const std::string&)>;
5151

5252
NetworkHandler(NetworkConnectionInterface *new_network_connection_interface,
53-
DataProcessingInterface *new_data_processing_interface,
53+
I_Protocol *new_protocol_interface,
5454
diagram_collector_type new_diagram_collector,
5555
error_collector_type new_error_collector)
5656
: network_connection_interface(new_network_connection_interface),
57-
data_processing_interface(new_data_processing_interface),
57+
protocol_interface(new_protocol_interface),
5858
diagram_collector(new_diagram_collector),
5959
error_collector(new_error_collector)
6060
{
@@ -63,9 +63,9 @@ class NetworkHandler : public QObject
6363
std::string errorMessage = "There was no network_connection_interface set in NetworkHandler::NetworkHandler!";
6464
throw errorMessage;
6565
}
66-
if(!data_processing_interface)
66+
if(!protocol_interface)
6767
{
68-
std::string errorMessage = "There was no data_processor_interface set in NetworkHandler::NetworkHandler!";
68+
std::string errorMessage = "There was no protocol_interface set in NetworkHandler::NetworkHandler!";
6969
throw errorMessage;
7070
}
7171
if(!diagram_collector)
@@ -98,7 +98,7 @@ private slots:
9898

9999
private:
100100
NetworkConnectionInterface* network_connection_interface;
101-
DataProcessingInterface* data_processing_interface;
101+
I_Protocol* protocol_interface;
102102
diagram_collector_type diagram_collector;
103103
error_collector_type error_collector;
104104
std::string port_name;

application/sources/protocol_interface.hpp

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)