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