xref: /haiku/src/add-ons/print/drivers/pcl6/PCL6Entry.cpp (revision 3bfe34e2b17f527c54573be7826353ea0a2147b0)
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