Sketching some basic interfaces

This commit is contained in:
2022-11-01 20:02:47 +01:00
parent bd9a39e185
commit 2913a272d1
13 changed files with 295 additions and 9 deletions

32
src/P700Driver.cpp Normal file
View File

@@ -0,0 +1,32 @@
#include "P700Driver.hpp"
#include <stdexcept>
#include <iostream>
namespace ptprnt::driver {
P700Driver::P700Driver(uint16_t UsbDevVendor, uint16_t UsbDevId) {
}
P700Driver::~P700Driver() {
}
driver::info P700Driver::getInfo() {
return driver::info{};
}
bool P700Driver::open() {
return false;
}
bool P700Driver::close() {
return false;
}
bool P700Driver::command() {
return false;
}
}

31
src/P700Printer.cpp Normal file
View File

@@ -0,0 +1,31 @@
#include "P700Printer.hpp"
#include <stdexcept>
#include <iostream>
namespace ptprnt::printer {
P700Printer::P700Printer(std::unique_ptr<driver::P700Driver> driver) {
if(!driver->open()) {
throw std::invalid_argument("Could not open driver!");
}
}
P700Printer::~P700Printer() {
if(!mDriver->close()) {
std::cerr << "Could not close driver properly!" << std::endl;
}
}
printer::info P700Printer::getInfo() {
return printer::info{};
}
bool P700Printer::printText(std::string_view text, uint32_t fontSize) {
return false;
}
bool P700Printer::printBitmap(std::shared_ptr<bitmap::Bitmap> bm) {
return false;
}
}

View File

@@ -1,9 +1,19 @@
#include <iostream>
#include <memory>
#include "IPrinter.hpp"
#include "P700Printer.hpp"
using namespace ptprnt;
int main(int argc, char** argv) {
std::cout << "Hello World!" << std::endl;
std::cout << "Hello ptprnt!" << std::endl;
auto driver = std::make_unique<driver::P700Driver>();
auto printer = std::make_unique<printer::P700Printer>(std::move(driver));
printer::info info = printer->getInfo();
return 0;
}