haiku/src/servers/net/AutoconfigLooper.h

43 lines
940 B
C++

/*
* Copyright 2006-2008, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Axel Dörfler, axeld@pinc-software.de
*/
#ifndef AUTOCONFIG_LOOPER_H
#define AUTOCONFIG_LOOPER_H
#include <Looper.h>
#include <Messenger.h>
#include <String.h>
#include <netinet6/in6.h>
class AutoconfigClient;
class AutoconfigLooper : public BLooper {
public:
AutoconfigLooper(BMessenger target,
const char* device);
virtual ~AutoconfigLooper();
virtual void MessageReceived(BMessage* message);
BMessenger Target() const { return fTarget; }
private:
void _RemoveClient();
void _ConfigureIPv4();
void _ReadyToRun();
void _NetworkMonitorNotification(BMessage* message);
BMessenger fTarget;
BString fDevice;
AutoconfigClient* fCurrentClient;
int32 fLastMediaStatus;
bool fJoiningNetwork;
};
#endif // AUTOCONFIG_LOOPER_H