xref: /haiku/src/servers/net/AutoconfigLooper.h (revision 25a7b01d15612846f332751841da3579db313082)
1fb81684fSAxel Dörfler /*
2293ed4feSAxel Dörfler  * Copyright 2006-2008, Haiku, Inc. All Rights Reserved.
3fb81684fSAxel Dörfler  * Distributed under the terms of the MIT License.
4fb81684fSAxel Dörfler  *
5fb81684fSAxel Dörfler  * Authors:
6fb81684fSAxel Dörfler  *		Axel Dörfler, axeld@pinc-software.de
7fb81684fSAxel Dörfler  */
8fb81684fSAxel Dörfler #ifndef AUTOCONFIG_LOOPER_H
9fb81684fSAxel Dörfler #define AUTOCONFIG_LOOPER_H
10fb81684fSAxel Dörfler 
11fb81684fSAxel Dörfler 
12fb81684fSAxel Dörfler #include <Looper.h>
13fb81684fSAxel Dörfler #include <Messenger.h>
14fb81684fSAxel Dörfler #include <String.h>
158a9d5e34SRene Gollent #include <netinet6/in6.h>
16fb81684fSAxel Dörfler 
17293ed4feSAxel Dörfler class AutoconfigClient;
18fb81684fSAxel Dörfler 
19fb81684fSAxel Dörfler class AutoconfigLooper : public BLooper {
20fb81684fSAxel Dörfler public:
21293ed4feSAxel Dörfler 								AutoconfigLooper(BMessenger target,
22293ed4feSAxel Dörfler 									const char* device);
23fb81684fSAxel Dörfler 	virtual						~AutoconfigLooper();
24fb81684fSAxel Dörfler 
25fb81684fSAxel Dörfler 	virtual	void				MessageReceived(BMessage* message);
26fb81684fSAxel Dörfler 
Target()27fb81684fSAxel Dörfler 			BMessenger			Target() const { return fTarget; }
28fb81684fSAxel Dörfler 
29fb81684fSAxel Dörfler private:
30293ed4feSAxel Dörfler 			void				_RemoveClient();
318a9d5e34SRene Gollent 			void				_ConfigureIPv4();
32fb81684fSAxel Dörfler 			void				_ReadyToRun();
33*a9abcc37SMichael Lotz 			void				_NetworkMonitorNotification(BMessage* message);
34fb81684fSAxel Dörfler 
35fb81684fSAxel Dörfler 			BMessenger			fTarget;
36fb81684fSAxel Dörfler 			BString				fDevice;
37293ed4feSAxel Dörfler 			AutoconfigClient*	fCurrentClient;
389cac658aSRene Gollent 			int32				fLastMediaStatus;
39*a9abcc37SMichael Lotz 			bool				fJoiningNetwork;
40fb81684fSAxel Dörfler };
41fb81684fSAxel Dörfler 
42fb81684fSAxel Dörfler #endif	// AUTOCONFIG_LOOPER_H
43