PcapPlusPlus
pcpp::IFileReaderDevice Class Referenceabstract

#include <PcapFileDevice.h>

Inheritance diagram for pcpp::IFileReaderDevice:
pcpp::IFileDevice pcpp::IPcapDevice pcpp::PcapFileReaderDevice pcpp::PcapNgFileReaderDevice

Public Member Functions

virtual ~IFileReaderDevice ()
 
uint64_t getFileSize ()
 
int getNextPackets (RawPacketVector &packetVec, int numOfPacketsToRead=-1)
 
- Public Member Functions inherited from pcpp::IFileDevice
std::string getFileName ()
 
virtual void close ()
 
- Public Member Functions inherited from pcpp::IPcapDevice
virtual bool open ()=0
 
bool isOpened ()
 
virtual void getStatistics (pcap_stat &stats)=0
 
bool setFilter (GeneralFilter &filter)
 
virtual bool setFilter (std::string filterAsString)
 
void clearFilter ()
 

Static Public Member Functions

static IFileReaderDevicegetReader (const char *fileName)
 
- Static Public Member Functions inherited from pcpp::IPcapDevice
static bool verifyFilter (std::string filterAsString)
 
static bool matchPakcetWithFilter (std::string filterAsString, RawPacket *rawPacket)
 

Protected Member Functions

 IFileReaderDevice (const char *fileName)
 

Detailed Description

An abstract class (cannot be instantiated, has a private c'tor) which is the parent class for file reader devices

Constructor & Destructor Documentation

◆ IFileReaderDevice()

pcpp::IFileReaderDevice::IFileReaderDevice ( const char *  fileName)
protected

A constructor for this class that gets the pcap full path file name to open. Notice that after calling this constructor the file isn't opened yet, so reading packets will fail. For opening the file call open()

Parameters
[in]fileNameThe full path of the file to read

◆ ~IFileReaderDevice()

virtual pcpp::IFileReaderDevice::~IFileReaderDevice ( )
inlinevirtual

A destructor for this class

Member Function Documentation

◆ getFileSize()

uint64_t pcpp::IFileReaderDevice::getFileSize ( )
Returns
The file size in bytes

◆ getNextPackets()

int pcpp::IFileReaderDevice::getNextPackets ( RawPacketVector packetVec,
int  numOfPacketsToRead = -1 
)

Read the next N packets into a raw packet vector

Parameters
[out]packetVecThe raw packet vector to read packets into
[in]numOfPacketsToReadNumber of packets to read. If value <0 all remaining packets in the file will be read into the raw packet vector (this is the default value)
Returns
The number of packets actually read. This value will be equal to numOfPacketsToRead if numOfPacketsToRead > 0 and enough packets remain to read, or less than numOfPacketsToRead if numOfPacketsToRead > 0 and not enough packets remain to read, or if numOfPacketsToRead < 0 the return value will be the number of packets remain to read

◆ getReader()

static IFileReaderDevice* pcpp::IFileReaderDevice::getReader ( const char *  fileName)
static

A static method that creates an instance of the reader best fit to read the file. It decides by the file extension: for .pcapng files it returns an instance of PcapNgFileReaderDevice and for all other extensions it returns an instance of PcapFileReaderDevice

Parameters
[in]fileNameThe file name to open
Returns
An instance of the reader to read the file. Notice you should free this instance when done using it