84 lines
2.0 KiB
C
84 lines
2.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_H_
|
||
|
#define _PRINTER_H_
|
||
|
|
||
|
|
||
|
#include <Directory.h>
|
||
|
#include <Entry.h>
|
||
|
#include <image.h>
|
||
|
#include <Message.h>
|
||
|
#include <Node.h>
|
||
|
#include <Path.h>
|
||
|
#include <String.h>
|
||
|
|
||
|
|
||
|
namespace BPrivate {
|
||
|
namespace Print {
|
||
|
|
||
|
|
||
|
class BPrinter {
|
||
|
public:
|
||
|
BPrinter();
|
||
|
BPrinter(const BEntry& entry);
|
||
|
BPrinter(const BPrinter& printer);
|
||
|
BPrinter(const node_ref& nodeRef);
|
||
|
BPrinter(const entry_ref& entryRef);
|
||
|
BPrinter(const BDirectory& directory);
|
||
|
~BPrinter();
|
||
|
|
||
|
status_t SetTo(const BEntry& entry);
|
||
|
status_t SetTo(const node_ref& nodeRef);
|
||
|
status_t SetTo(const entry_ref& entryRef);
|
||
|
status_t SetTo(const BDirectory& directory);
|
||
|
void Unset();
|
||
|
|
||
|
bool IsValid() const;
|
||
|
status_t InitCheck() const;
|
||
|
|
||
|
bool IsFree() const;
|
||
|
bool IsDefault() const;
|
||
|
bool IsShareable() const;
|
||
|
|
||
|
BString Name() const;
|
||
|
BString State() const;
|
||
|
BString Driver() const;
|
||
|
BString Comments() const;
|
||
|
BString Transport() const;
|
||
|
BString TransportAddress() const;
|
||
|
status_t DefaultSettings(BMessage& settings);
|
||
|
|
||
|
status_t StartWatching(const BMessenger& listener);
|
||
|
void StopWatching();
|
||
|
|
||
|
BPrinter& operator=(const BPrinter& printer);
|
||
|
bool operator==(const BPrinter& printer) const;
|
||
|
bool operator!=(const BPrinter& printer) const;
|
||
|
|
||
|
private:
|
||
|
status_t _Configure() const;
|
||
|
status_t _ConfigureJob(BMessage& settings);
|
||
|
status_t _ConfigurePage(BMessage& settings);
|
||
|
|
||
|
BPath _DriverPath() const;
|
||
|
image_id _LoadDriver() const;
|
||
|
void _AddPrinterName(BMessage& settings);
|
||
|
BString _ReadAttribute(const char* attribute) const;
|
||
|
|
||
|
private:
|
||
|
BMessenger* fListener;
|
||
|
entry_ref fPrinterEntryRef;
|
||
|
};
|
||
|
|
||
|
|
||
|
} // namespace Print
|
||
|
} // namespace BPrivate
|
||
|
|
||
|
|
||
|
#endif // _PRINTER_H_
|