/* * GPEntry.cpp * Copyright 1999-2000 Y.Takagi. All Rights Reserved. * Copyright 2010 Michael Pfeiffer. */ #include #include "GPDriver.h" #include "GPCapabilities.h" #include "GPData.h" #include "PrinterDriver.h" #include "SelectPrinterDialog.h" class GPPrinterDriver : public PrinterDriver { public: GPPrinterDriver(BNode* printerFolder) : PrinterDriver(printerFolder) { } const char* GetSignature() const { return "application/x-vnd.gutenprint"; } const char* GetDriverName() const { return "Gutenprint"; } const char* GetVersion() const { return "1.0"; } const char* GetCopyright() const { return "Gutenprint driver " "Copyright © 2010 Michael Pfeiffer.\n"; } char* AddPrinter(char *printerName) { GPData* data = dynamic_cast(GetPrinterData()); ASSERT(data != NULL); SelectPrinterDialog* dialog = new SelectPrinterDialog(data); if (dialog->Go() != B_OK) return NULL; return printerName; } PrinterData* InstantiatePrinterData(BNode* node) { return new GPData(node); } PrinterCap* InstantiatePrinterCap(PrinterData* printerData) { return new GPCapabilities(printerData); } GraphicsDriver* InstantiateGraphicsDriver(BMessage* settings, PrinterData* printerData, PrinterCap* printerCap) { return new GPDriver(settings, printerData, printerCap); } }; PrinterDriver* instantiate_printer_driver(BNode* printerFolder) { return new GPPrinterDriver(printerFolder); }