xref: /haiku/src/add-ons/print/transports/hp_jetdirect/HPJetDirectTransport.h (revision 1294543de9ac0eff000eaea1b18368c36435d08e)
1 /*****************************************************************************/
2 // HP JetDirect (TCP/IP only) transport add-on,
3 //
4 // Author
5 //   Philippe Houdoin
6 //
7 // This application and all source files used in its construction, except
8 // where noted, are licensed under the MIT License, and have been written
9 // and are:
10 //
11 // Copyright (c) 2001-2003 OpenBeOS Project
12 //
13 // Permission is hereby granted, free of charge, to any person obtaining a
14 // copy of this software and associated documentation files (the "Software"),
15 // to deal in the Software without restriction, including without limitation
16 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
17 // and/or sell copies of the Software, and to permit persons to whom the
18 // Software is furnished to do so, subject to the following conditions:
19 //
20 // The above copyright notice and this permission notice shall be included
21 // in all copies or substantial portions of the Software.
22 //
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29 // DEALINGS IN THE SOFTWARE.
30 /*****************************************************************************/
31 
32 #ifndef HP_JETDIRECT_TRANSPORT_H
33 #define HP_JETDIRECT_TRANSPORT_H
34 
35 #include <Message.h>
36 #include <Directory.h>
37 #include <NetEndpoint.h>
38 
39 class HPJetDirectPort : public BDataIO {
40 	public:
41 		HPJetDirectPort(BDirectory* printer, BMessage* msg);
42 		~HPJetDirectPort();
43 
44 		status_t InitCheck() { return fReady; }
45 
46 		ssize_t Read(void* buffer, size_t size);
47 		ssize_t Write(const void* buffer, size_t size);
48 
49 	private:
50 		char fHost[256];
51 		uint16 fPort;		// default is 9100
52 		BNetEndpoint *fEndpoint;
53 		status_t fReady;
54 };
55 
56 #endif
57