1#ifndef _beserved_transport_h_
2#define _beserved_transport_h_
3
4#include <Directory.h>
5#include <DataIO.h>
6#include <Message.h>
7#include <fstream>
8#include <string>
9
10#include "betalk.h"
11
12
13#if (!__MWERKS__ || defined(WIN32))
14using namespace std;
15#else
16#define std
17#endif
18
19class BeServedTransport : public BDataIO
20{
21public:
22	BeServedTransport(BMessage *msg);
23	virtual ~BeServedTransport();
24	virtual ssize_t Read(void *buffer, size_t size);
25	virtual ssize_t Write(const void *buffer, size_t size);
26
27	bool getNewCredentials();
28
29	bool operator !() const;
30	bool fail() const;
31
32private:
33	char server[256];
34	char printerName[256];
35	char *serverJobId;
36
37	BDirectory dir;
38	char file[B_PATH_NAME_LENGTH];
39	bt_rpcinfo info;
40
41	char user[MAX_USERNAME_LENGTH + 1];
42	char password[BT_AUTH_TOKEN_LENGTH * 2 + 1];
43
44	int32 jobId;
45	fstream fs;
46	bool error;
47};
48
49inline bool BeServedTransport::fail() const
50{
51	return error;
52}
53
54inline bool BeServedTransport::operator !() const
55{
56	return fail();
57}
58
59#endif
60