#include <sys/ioctl.h>
#include <net/if.h>
+#include "stg/common.h"
+#include "stg/raw_ip_packet.h"
+#include "stg/traffcounter.h"
+#include "stg/plugin_creator.h"
#include "ether_cap.h"
-#include "common.h"
-#include "raw_ip_packet.h"
//#define CAP_DEBUG 1
-
-//-----------------------------------------------------------------------------
-class ETHER_CAP_CREATOR
-{
-private:
- ETHER_CAP * ec;
-
-public:
- ETHER_CAP_CREATOR()
- : ec(new ETHER_CAP())
- {
- };
- ~ETHER_CAP_CREATOR()
- {
- delete ec;
- };
-
- ETHER_CAP * GetCapturer()
- {
- return ec;
- };
-};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-ETHER_CAP_CREATOR ecc;
+PLUGIN_CREATOR<ETHER_CAP> ecc;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-BASE_PLUGIN * GetPlugin()
+PLUGIN * GetPlugin()
{
-return ecc.GetCapturer();
+return ecc.GetPlugin();
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-const string ETHER_CAP::GetVersion() const
+const std::string ETHER_CAP::GetVersion() const
{
return "Ether_cap v.1.2";
}
//-----------------------------------------------------------------------------
ETHER_CAP::ETHER_CAP()
+ : nonstop(false),
+ isRunning(false),
+ capSock(-1),
+ traffCnt(NULL)
{
-isRunning = false;
-nonstop = false;
-}
-//-----------------------------------------------------------------------------
-void ETHER_CAP::SetTraffcounter(TRAFFCOUNTER * tc)
-{
-traffCnt = tc;
-}
-//-----------------------------------------------------------------------------
-const string & ETHER_CAP::GetStrError() const
-{
-return errorStr;
}
//-----------------------------------------------------------------------------
int ETHER_CAP::Start()
return 0;
}
//-----------------------------------------------------------------------------
-bool ETHER_CAP::IsRunning()
-{
-return isRunning;
-}
-//-----------------------------------------------------------------------------
void * ETHER_CAP::Run(void * d)
{
ETHER_CAP * dc = (ETHER_CAP *)d;
return NULL;
}
//-----------------------------------------------------------------------------
-uint16_t ETHER_CAP::GetStartPosition() const
-{
-return 10;
-}
-//-----------------------------------------------------------------------------
-uint16_t ETHER_CAP::GetStopPosition() const
-{
-return 10;
-}
-//-----------------------------------------------------------------------------
int ETHER_CAP::EthCapOpen()
{
capSock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));