xref: /haiku/headers/libs/print/libprint/PrinterData.h (revision f7b0c08caed76819599e50c30f1f48b13fbb9cf6)
112fd6cc2SKarsten Heimrich /*
212fd6cc2SKarsten Heimrich  * PrinterData.h
312fd6cc2SKarsten Heimrich  * Copyright 1999-2000 Y.Takagi All Rights Reserved.
412fd6cc2SKarsten Heimrich  */
512fd6cc2SKarsten Heimrich 
612fd6cc2SKarsten Heimrich #ifndef __PRINTERDATA_H
712fd6cc2SKarsten Heimrich #define __PRINTERDATA_H
812fd6cc2SKarsten Heimrich 
912fd6cc2SKarsten Heimrich #include <string>
1012fd6cc2SKarsten Heimrich #include <SerialPort.h>
1112fd6cc2SKarsten Heimrich 
1212fd6cc2SKarsten Heimrich #if (!__MWERKS__ || defined(MSIPL_USING_NAMESPACE))
1312fd6cc2SKarsten Heimrich using namespace std;
1412fd6cc2SKarsten Heimrich #else
1512fd6cc2SKarsten Heimrich #define std
1612fd6cc2SKarsten Heimrich #endif
1712fd6cc2SKarsten Heimrich 
1812fd6cc2SKarsten Heimrich class BNode;
1912fd6cc2SKarsten Heimrich 
2012fd6cc2SKarsten Heimrich class PrinterData {
2112fd6cc2SKarsten Heimrich public:
2212fd6cc2SKarsten Heimrich 	PrinterData(BNode *node = NULL);
23*f7b0c08cSIthamar R. Adema 	virtual ~PrinterData();
24*f7b0c08cSIthamar R. Adema 	virtual void load();
25*f7b0c08cSIthamar R. Adema 	virtual void save();
2612fd6cc2SKarsten Heimrich 
2712fd6cc2SKarsten Heimrich 	const string &getDriverName() const;
2812fd6cc2SKarsten Heimrich 	const string &getPrinterName() const;
2912fd6cc2SKarsten Heimrich 	const string &getComments() const;
3012fd6cc2SKarsten Heimrich 	const string &getTransport() const;
3112fd6cc2SKarsten Heimrich 	int getProtocolClass() const;
3212fd6cc2SKarsten Heimrich 
3312fd6cc2SKarsten Heimrich 	void  setPrinterName(const char *printer_name);
3412fd6cc2SKarsten Heimrich 	void  setComments(const char *comments);
3512fd6cc2SKarsten Heimrich 	void  setProtocolClass(int protocolClass);
3612fd6cc2SKarsten Heimrich 
3712fd6cc2SKarsten Heimrich 	bool getPath(string &path) const;
3812fd6cc2SKarsten Heimrich 
3912fd6cc2SKarsten Heimrich protected:
4012fd6cc2SKarsten Heimrich 	PrinterData(const PrinterData &printer_data);
4112fd6cc2SKarsten Heimrich 	PrinterData &operator = (const PrinterData &printer_data);
4212fd6cc2SKarsten Heimrich 
43*f7b0c08cSIthamar R. Adema 	BNode  *fNode;
4412fd6cc2SKarsten Heimrich private:
4512fd6cc2SKarsten Heimrich 	string fDriverName;
4612fd6cc2SKarsten Heimrich 	string fPrinterName;
4712fd6cc2SKarsten Heimrich 	string fComments;
4812fd6cc2SKarsten Heimrich 	string fTransport;
4912fd6cc2SKarsten Heimrich 	int    fProtocolClass;
5012fd6cc2SKarsten Heimrich };
5112fd6cc2SKarsten Heimrich 
5212fd6cc2SKarsten Heimrich inline const string &PrinterData::getDriverName() const
5312fd6cc2SKarsten Heimrich {
5412fd6cc2SKarsten Heimrich 	return fDriverName;
5512fd6cc2SKarsten Heimrich }
5612fd6cc2SKarsten Heimrich 
5712fd6cc2SKarsten Heimrich inline const string &PrinterData::getPrinterName() const
5812fd6cc2SKarsten Heimrich {
5912fd6cc2SKarsten Heimrich 	return fPrinterName;
6012fd6cc2SKarsten Heimrich }
6112fd6cc2SKarsten Heimrich 
6212fd6cc2SKarsten Heimrich inline const string &PrinterData::getComments() const
6312fd6cc2SKarsten Heimrich {
6412fd6cc2SKarsten Heimrich 	return fComments;
6512fd6cc2SKarsten Heimrich }
6612fd6cc2SKarsten Heimrich 
6712fd6cc2SKarsten Heimrich inline const string &PrinterData::getTransport() const
6812fd6cc2SKarsten Heimrich {
6912fd6cc2SKarsten Heimrich 	return fTransport;
7012fd6cc2SKarsten Heimrich }
7112fd6cc2SKarsten Heimrich 
7212fd6cc2SKarsten Heimrich inline int PrinterData::getProtocolClass() const
7312fd6cc2SKarsten Heimrich {
7412fd6cc2SKarsten Heimrich 	return fProtocolClass;
7512fd6cc2SKarsten Heimrich }
7612fd6cc2SKarsten Heimrich 
7712fd6cc2SKarsten Heimrich inline void PrinterData::setPrinterName(const char *printer_name)
7812fd6cc2SKarsten Heimrich {
7912fd6cc2SKarsten Heimrich 	fPrinterName = printer_name;
8012fd6cc2SKarsten Heimrich }
8112fd6cc2SKarsten Heimrich 
8212fd6cc2SKarsten Heimrich inline void PrinterData::setComments(const char *comments)
8312fd6cc2SKarsten Heimrich {
8412fd6cc2SKarsten Heimrich 	fComments = comments;
8512fd6cc2SKarsten Heimrich }
8612fd6cc2SKarsten Heimrich 
8712fd6cc2SKarsten Heimrich inline void PrinterData::setProtocolClass(int protocolClass)
8812fd6cc2SKarsten Heimrich {
8912fd6cc2SKarsten Heimrich 	fProtocolClass = protocolClass;
9012fd6cc2SKarsten Heimrich }
9112fd6cc2SKarsten Heimrich 
9212fd6cc2SKarsten Heimrich #endif	// __PRINTERDATA_H
93