1/*
2 * Copyright 2001-2010, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Ithamar R. Adema
7 *		Michael Pfeiffer
8 */
9#ifndef PRINTER_DRIVER_ADD_ON_H
10#define PRINTER_DRIVER_ADD_ON_H
11
12
13#include <Directory.h>
14#include <image.h>
15#include <Message.h>
16#include <Path.h>
17#include <SupportDefs.h>
18
19
20class PrinterDriverAddOn
21{
22public:
23						PrinterDriverAddOn(const char* driver);
24						~PrinterDriverAddOn();
25
26			status_t	AddPrinter(const char* spoolFolderName);
27			status_t	ConfigPage(BDirectory* spoolFolder,
28							BMessage* settings);
29			status_t	ConfigJob(BDirectory* spoolFolder,
30							BMessage* settings);
31			status_t	DefaultSettings(BDirectory* spoolFolder,
32							BMessage* settings);
33			status_t	TakeJob(const char* spoolFile,
34							BDirectory* spoolFolder);
35
36	static	status_t	FindPathToDriver(const char* driver, BPath* path);
37
38private:
39			bool		IsLoaded() const;
40			status_t	CopyValidSettings(BMessage* settings,
41							BMessage* newSettings);
42
43	image_id	fAddOnID;
44};
45
46
47#endif
48