1*3bfe34e2SMichael Pfeiffer /* 2*3bfe34e2SMichael Pfeiffer * PCL6Entry.cpp 3*3bfe34e2SMichael Pfeiffer * Copyright 1999-2000 Y.Takagi. All Rights Reserved. 4*3bfe34e2SMichael Pfeiffer * Copyright 2003 Michael Pfeiffer. 5*3bfe34e2SMichael Pfeiffer */ 6*3bfe34e2SMichael Pfeiffer 7*3bfe34e2SMichael Pfeiffer #include <File.h> 8*3bfe34e2SMichael Pfeiffer #include <Message.h> 9*3bfe34e2SMichael Pfeiffer #include <Node.h> 10*3bfe34e2SMichael Pfeiffer 11*3bfe34e2SMichael Pfeiffer #include "Exports.h" 12*3bfe34e2SMichael Pfeiffer #include "PCL6.h" 13*3bfe34e2SMichael Pfeiffer #include "PrinterData.h" 14*3bfe34e2SMichael Pfeiffer #include "PCL6Cap.h" 15*3bfe34e2SMichael Pfeiffer #include "UIDriver.h" 16*3bfe34e2SMichael Pfeiffer #include "AboutBox.h" 17*3bfe34e2SMichael Pfeiffer #include "DbgMsg.h" 18*3bfe34e2SMichael Pfeiffer 19*3bfe34e2SMichael Pfeiffer char *add_printer(char *printer_name) 20*3bfe34e2SMichael Pfeiffer { 21*3bfe34e2SMichael Pfeiffer DBGMSG((">PCL6: add_printer\n")); 22*3bfe34e2SMichael Pfeiffer DBGMSG(("\tprinter_name: %s\n", printer_name)); 23*3bfe34e2SMichael Pfeiffer DBGMSG(("<PCL6: add_printer\n")); 24*3bfe34e2SMichael Pfeiffer return printer_name; 25*3bfe34e2SMichael Pfeiffer } 26*3bfe34e2SMichael Pfeiffer 27*3bfe34e2SMichael Pfeiffer BMessage *config_page(BNode *node, BMessage *msg) 28*3bfe34e2SMichael Pfeiffer { 29*3bfe34e2SMichael Pfeiffer DBGMSG((">PCL6: config_page\n")); 30*3bfe34e2SMichael Pfeiffer DUMP_BMESSAGE(msg); 31*3bfe34e2SMichael Pfeiffer DUMP_BNODE(node); 32*3bfe34e2SMichael Pfeiffer 33*3bfe34e2SMichael Pfeiffer PrinterData printer_data(node); 34*3bfe34e2SMichael Pfeiffer PCL6Cap printer_cap(&printer_data); 35*3bfe34e2SMichael Pfeiffer UIDriver drv(msg, &printer_data, &printer_cap); 36*3bfe34e2SMichael Pfeiffer BMessage *result = drv.configPage(); 37*3bfe34e2SMichael Pfeiffer 38*3bfe34e2SMichael Pfeiffer DUMP_BMESSAGE(result); 39*3bfe34e2SMichael Pfeiffer DBGMSG(("<PCL6: config_page\n")); 40*3bfe34e2SMichael Pfeiffer return result; 41*3bfe34e2SMichael Pfeiffer } 42*3bfe34e2SMichael Pfeiffer 43*3bfe34e2SMichael Pfeiffer BMessage *config_job(BNode *node, BMessage *msg) 44*3bfe34e2SMichael Pfeiffer { 45*3bfe34e2SMichael Pfeiffer DBGMSG((">PCL6: config_job\n")); 46*3bfe34e2SMichael Pfeiffer DUMP_BMESSAGE(msg); 47*3bfe34e2SMichael Pfeiffer DUMP_BNODE(node); 48*3bfe34e2SMichael Pfeiffer 49*3bfe34e2SMichael Pfeiffer PrinterData printer_data(node); 50*3bfe34e2SMichael Pfeiffer PCL6Cap printer_cap(&printer_data); 51*3bfe34e2SMichael Pfeiffer UIDriver drv(msg, &printer_data, &printer_cap); 52*3bfe34e2SMichael Pfeiffer BMessage *result = drv.configJob(); 53*3bfe34e2SMichael Pfeiffer 54*3bfe34e2SMichael Pfeiffer DUMP_BMESSAGE(result); 55*3bfe34e2SMichael Pfeiffer DBGMSG(("<PCL6: config_job\n")); 56*3bfe34e2SMichael Pfeiffer return result; 57*3bfe34e2SMichael Pfeiffer } 58*3bfe34e2SMichael Pfeiffer 59*3bfe34e2SMichael Pfeiffer BMessage *take_job(BFile *spool, BNode *node, BMessage *msg) 60*3bfe34e2SMichael Pfeiffer { 61*3bfe34e2SMichael Pfeiffer DBGMSG((">PCL6: take_job\n")); 62*3bfe34e2SMichael Pfeiffer DUMP_BMESSAGE(msg); 63*3bfe34e2SMichael Pfeiffer DUMP_BNODE(node); 64*3bfe34e2SMichael Pfeiffer 65*3bfe34e2SMichael Pfeiffer PrinterData printer_data(node); 66*3bfe34e2SMichael Pfeiffer PCL6Cap printer_cap(&printer_data); 67*3bfe34e2SMichael Pfeiffer PCL6Driver drv(msg, &printer_data, &printer_cap); 68*3bfe34e2SMichael Pfeiffer BMessage *result = drv.takeJob(spool); 69*3bfe34e2SMichael Pfeiffer 70*3bfe34e2SMichael Pfeiffer // DUMP_BMESSAGE(result); 71*3bfe34e2SMichael Pfeiffer DBGMSG(("<PCL6: take_job\n")); 72*3bfe34e2SMichael Pfeiffer return result; 73*3bfe34e2SMichael Pfeiffer } 74*3bfe34e2SMichael Pfeiffer 75*3bfe34e2SMichael Pfeiffer int main() 76*3bfe34e2SMichael Pfeiffer { 77*3bfe34e2SMichael Pfeiffer AboutBox app("application/x-vnd.PCL6-compatible", "PCL6 Compatible", "0.1", 78*3bfe34e2SMichael Pfeiffer "libprint Copyright © 1999-2000 Y.Takagi\n" 79*3bfe34e2SMichael Pfeiffer "PCL6 driver Copyright © 2003 Michael Pfeiffer.\n" 80*3bfe34e2SMichael Pfeiffer "All Rights Reserved."); 81*3bfe34e2SMichael Pfeiffer app.Run(); 82*3bfe34e2SMichael Pfeiffer return 0; 83*3bfe34e2SMichael Pfeiffer } 84