15a1d355fSStephan Aßmus// Connection.h
25a1d355fSStephan Aßmus
35a1d355fSStephan Aßmus#ifndef NET_FS_CONNECTION_H
45a1d355fSStephan Aßmus#define NET_FS_CONNECTION_H
55a1d355fSStephan Aßmus
65a1d355fSStephan Aßmus#include <OS.h>
75a1d355fSStephan Aßmus
85a1d355fSStephan Aßmusclass Channel;
95a1d355fSStephan Aßmusclass SecurityContext;
105a1d355fSStephan Aßmusclass User;
115a1d355fSStephan Aßmus
125a1d355fSStephan Aßmus// Connection
135a1d355fSStephan Aßmusclass Connection {
145a1d355fSStephan Aßmusprotected:
155a1d355fSStephan Aßmus								Connection();
165a1d355fSStephan Aßmus
175a1d355fSStephan Aßmuspublic:
185a1d355fSStephan Aßmus	virtual						~Connection();
195a1d355fSStephan Aßmus
205a1d355fSStephan Aßmus	virtual	status_t			Init(const char* parameters) = 0;
215a1d355fSStephan Aßmus	virtual	void				Close() = 0;
225a1d355fSStephan Aßmus
235a1d355fSStephan Aßmus	virtual	int32				CountDownStreamChannels() const = 0;
245a1d355fSStephan Aßmus	virtual	Channel*			DownStreamChannelAt(int32 index) const = 0;
255a1d355fSStephan Aßmus
265a1d355fSStephan Aßmus	virtual	status_t			GetUpStreamChannel(Channel** channel,
275a1d355fSStephan Aßmus									bigtime_t timeout = B_INFINITE_TIMEOUT) = 0;
285a1d355fSStephan Aßmus	virtual	status_t			PutUpStreamChannel(Channel* channel) = 0;
295a1d355fSStephan Aßmus};
305a1d355fSStephan Aßmus
315a1d355fSStephan Aßmus#endif	// NET_FS_CONNECTION_H
32