haiku/headers/private/print/PrinterRoster.h
Karsten Heimrich 4b7da592ee * first steps towards a new printer api...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-10 23:26:38 +00:00

58 lines
1.0 KiB
C++

/*
* Copyright 2008 Haiku Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Julun, <host.haiku@gmx.de
*/
#ifndef _PRINTER_ROSTER_H_
#define _PRINTER_ROSTER_H_
#include <Directory.h>
#include <Messenger.h>
#include <Node.h>
#include <String.h>
namespace BPrivate {
namespace Print {
class BPrinter;
class BPrinterRoster {
public:
BPrinterRoster();
~BPrinterRoster();
int32 CountPrinters();
status_t GetNextPrinter(BPrinter* printer);
status_t GetDefaultPrinter(BPrinter* printer);
status_t FindPrinter(const BString& name, BPrinter* printer);
status_t Rewind();
status_t StartWatching(const BMessenger& listener);
void StopWatching();
private:
BPrinterRoster(const BPrinterRoster& printerRoster);
BPrinterRoster& operator=(const BPrinterRoster& printerRoster);
private:
BMessenger* fListener;
node_ref fUserPrintersNodRef;
BDirectory fUserPrintersDirectory;
};
} // namespace Print
} // namespace BPrivate
#endif // _PRINTER_ROSTER_H_