1/*
2 * Copyright 2016, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef CONNECTION_CONFIG_VIEW_H
6#define CONNECTION_CONFIG_VIEW_H
7
8#include <View.h>
9
10
11class Settings;
12class TargetHostInterfaceInfo;
13
14
15class ConnectionConfigView : public BView {
16public:
17	class Listener;
18								ConnectionConfigView(const char* name);
19	virtual						~ConnectionConfigView();
20
21			status_t			Init(TargetHostInterfaceInfo* info,
22									Listener* listener);
23
24protected:
25			TargetHostInterfaceInfo* InterfaceInfo() const
26									{ return fInfo; }
27			void				NotifyConfigurationChanged(Settings* settings);
28
29	virtual	status_t			InitSpecific() = 0;
30
31private:
32			TargetHostInterfaceInfo* fInfo;
33			Listener* fListener;
34};
35
36
37class ConnectionConfigView::Listener {
38public:
39	virtual						~Listener();
40
41	virtual	void				ConfigurationChanged(Settings* settings) = 0;
42};
43
44
45#endif	// CONNECTION_CONFIG_VIEW_H
46