From 73a06d962585b343f127a176d311003ae2ea6d6b Mon Sep 17 00:00:00 2001 From: Philippe Houdoin Date: Mon, 30 Jun 2003 22:51:42 +0000 Subject: [PATCH] Renaming TransportAddOn.[cpp|h] into PrintTransportAddOn.[cpp|h] as "Transport" is not enough explicit. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3772 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/print/PrintTransportAddOn.h | 10 ++++++++ .../print/shared/PrintTransportAddOn.cpp | 24 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 headers/private/print/PrintTransportAddOn.h create mode 100644 src/add-ons/print/shared/PrintTransportAddOn.cpp diff --git a/headers/private/print/PrintTransportAddOn.h b/headers/private/print/PrintTransportAddOn.h new file mode 100644 index 0000000000..6c63c4c49d --- /dev/null +++ b/headers/private/print/PrintTransportAddOn.h @@ -0,0 +1,10 @@ +#ifndef PRINT_TRANSPORT_ADD_ON_H +#define PRINT_TRANSPORT_ADD_ON_H + +#include +#include +#include + +extern "C" BDataIO* instanciate_transport(BDirectory* printe, BMessage* msg); + +#endif PRINT_TRANSPORT_ADD_ON_H diff --git a/src/add-ons/print/shared/PrintTransportAddOn.cpp b/src/add-ons/print/shared/PrintTransportAddOn.cpp new file mode 100644 index 0000000000..3bb4a3c9cf --- /dev/null +++ b/src/add-ons/print/shared/PrintTransportAddOn.cpp @@ -0,0 +1,24 @@ +#include "PrintTransportAddOn.h" + +static BDataIO* gTransport = NULL; + +extern "C" _EXPORT BDataIO *init_transport(BMessage *msg) { + if (msg != NULL && gTransport == NULL) { + const char* printer_name = msg->FindString("printer_name"); + if (printer_name && *printer_name != '\0') { + BDirectory printer(printer_name); + if (printer.InitCheck() == B_OK) { + gTransport = instanciate_transport(&printer, msg); + return gTransport; + } + } + } + return NULL; +} + +extern "C" _EXPORT void exit_transport() { + if (gTransport) { + delete gTransport; gTransport = NULL; + } +} +