ostinato/server/winpcapport.h
Srivats P. b28bcd3055 Implemented "exclusive control" for a port using bindconfig (Win32 only). Following changes done for the same -
- OstProto service has a new method "modifyPort()"
- At port init port.isExclusive is now set using a bindconfig query (Win32 only)
- AbstractPort interface has 2 new pure virtual methods - hasExclusiveControl() and setExclusiveControl()
- PcapPort does not support this functionality (yet) so these methods return false
- WinPcapPort suppots this new functionality using bindconfig
- Port's notes (specifying Rx/Tx limitations) are now set and updated based on hasExclusiveControl()
- Presence of 'notes' on a port is indicated using a '*' after the port name in the port stats window
- The tabwidget has been removed from Port Window | Stream View Pane
- Ostinato Client has a new action in the port window's context menu for the same
- Port Icon in the Port Window is decorated based on exclusive control
2010-02-09 15:21:52 +00:00

38 lines
711 B
C++

#ifndef _SERVER_WIN_PCAP_PORT_H
#define _SERVER_WIN_PCAP_PORT_H
#include <QtGlobal>
#ifdef Q_OS_WIN32
#include "pcapport.h"
#include <packet32.h>
class WinPcapPort : public PcapPort
{
public:
WinPcapPort(int id, const char *device);
~WinPcapPort();
virtual OstProto::LinkState linkState();
virtual bool hasExclusiveControl();
virtual bool setExclusiveControl(bool exclusive);
protected:
class PortMonitor: public PcapPort::PortMonitor
{
public:
PortMonitor(const char *device, Direction direction,
AbstractPort::PortStats *stats);
void run();
};
private:
LPADAPTER adapter_;
PPACKET_OID_DATA linkStateOid_ ;
};
#endif
#endif