Make UEFI boot-platform build again
[haiku.git] / headers / private / print / PrintAddOnServer.h
blob6caae4187be620654e2ebd69be108269a295734f
1 /*
2 * Copyright 2010 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * Michael Pfeiffer
7 */
8 #ifndef PRINT_ADD_ON_SERVER_H
9 #define PRINT_ADD_ON_SERVER_H
12 #include <Directory.h>
13 #include <Entry.h>
14 #include <Message.h>
15 #include <Messenger.h>
16 #include <Path.h>
17 #include <String.h>
18 #include <SupportDefs.h>
21 class PrintAddOnServer
23 public:
24 PrintAddOnServer(const char* driver);
25 virtual ~PrintAddOnServer();
27 status_t AddPrinter(const char* spoolFolderName);
28 status_t ConfigPage(BDirectory* spoolFolder,
29 BMessage* settings);
30 status_t ConfigJob(BDirectory* spoolFolder,
31 BMessage* settings);
32 status_t DefaultSettings(BDirectory* spoolFolder,
33 BMessage* settings);
34 status_t TakeJob(const char* spoolFile,
35 BDirectory* spoolFolder);
37 static status_t FindPathToDriver(const char* driver, BPath* path);
39 private:
40 const char* Driver() const;
42 status_t Launch(BMessenger& messenger);
43 bool IsLaunched();
44 void Quit();
46 void AddDirectory(BMessage& message, const char* name,
47 BDirectory* directory);
48 void AddEntryRef(BMessage& message, const char* name,
49 const entry_ref* entryRef);
50 status_t SendRequest(BMessage& request, BMessage& reply);
51 status_t GetResult(BMessage& reply);
52 status_t GetResultAndUpdateSettings(BMessage& reply,
53 BMessage* settings);
55 BString fDriver;
56 status_t fLaunchStatus;
57 BMessenger fMessenger;
62 #endif