3rdparty: MultiEmulator: remove unused code
This commit is contained in:
parent
434359ea01
commit
6a1f502d25
4 changed files with 1 additions and 209 deletions
128
3rdparty/MultiEmulator/src/DoubleBuffering.cpp
vendored
128
3rdparty/MultiEmulator/src/DoubleBuffering.cpp
vendored
|
@ -1,128 +0,0 @@
|
||||||
//DoubleBuffering.cpp Source File
|
|
||||||
|
|
||||||
#include "DoubleBuffering.h"
|
|
||||||
#include <cassert>
|
|
||||||
#include <exception>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
CDoubleBuffering::CDoubleBuffering(ifstream& in, char* pcBuff, int iSize, int iDataLen) : m_rin(in),
|
|
||||||
m_iDataLen(iDataLen), m_bEOF(false), m_iSize(iSize), m_iSize2(iSize >> 1), m_pcBuff(pcBuff)
|
|
||||||
{
|
|
||||||
//m_iSize should be even
|
|
||||||
if(m_iSize%2 != 0)
|
|
||||||
throw runtime_error("CDoubleBuffering: m_iSize should be Even Number!");
|
|
||||||
//Check file
|
|
||||||
if(!in.is_open() || in.bad())
|
|
||||||
throw runtime_error("CDoubleBuffering: Referenced File not Opened or in Bad State!");
|
|
||||||
//Check construction data
|
|
||||||
if(m_iDataLen<1 || m_iSize2<m_iDataLen)
|
|
||||||
throw runtime_error("CDoubleBuffering: Illegal Construction Data!");
|
|
||||||
in.read(m_pcBuff, m_iSize2);
|
|
||||||
m_iEnd = m_rin.gcount();
|
|
||||||
m_iCurPos = 0;
|
|
||||||
m_iBuf = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CDoubleBuffering::GetData(char* pszDataBuf, int iDataLen)
|
|
||||||
{
|
|
||||||
if(-1 == iDataLen)
|
|
||||||
iDataLen = m_iDataLen;
|
|
||||||
if(iDataLen<1 || m_iSize2<iDataLen)
|
|
||||||
throw runtime_error("CDoubleBuffering::GetData(): Illegal iDataLen!");
|
|
||||||
if(true == m_bEOF)
|
|
||||||
return 0;
|
|
||||||
//Estimate the next position
|
|
||||||
int iCurPos = m_iCurPos + iDataLen;
|
|
||||||
if(0 == m_iBuf) //First Buffer
|
|
||||||
{
|
|
||||||
if(iCurPos >= m_iEnd)
|
|
||||||
{
|
|
||||||
//Read the next buffer
|
|
||||||
if(m_rin.eof())
|
|
||||||
{
|
|
||||||
m_bEOF = true;
|
|
||||||
//Take everything remained
|
|
||||||
int iRead = m_iEnd-m_iCurPos;
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
|
||||||
return iRead;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_rin.read(m_pcBuff+m_iEnd, m_iSize2);
|
|
||||||
m_iEnd += m_rin.gcount();
|
|
||||||
if(iCurPos > m_iEnd) //Still greater, then EOF attained
|
|
||||||
{
|
|
||||||
assert(m_rin.eof());
|
|
||||||
m_bEOF = true;
|
|
||||||
//Take everything remained
|
|
||||||
int iRead = m_iEnd-m_iCurPos;
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
|
||||||
return iRead;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
|
||||||
m_iCurPos = iCurPos;
|
|
||||||
assert(m_iCurPos >= m_iSize2);
|
|
||||||
m_iBuf = 1;
|
|
||||||
return iDataLen;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
|
||||||
m_iCurPos = iCurPos;
|
|
||||||
return iDataLen;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else //1 == m_iBuf, Second Buffer
|
|
||||||
{
|
|
||||||
if(iCurPos >= m_iEnd)
|
|
||||||
{
|
|
||||||
//Read the next buffer
|
|
||||||
if(m_rin.eof())
|
|
||||||
{
|
|
||||||
m_bEOF = true;
|
|
||||||
//Take everything remained
|
|
||||||
int iRead = m_iEnd-m_iCurPos;
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
|
||||||
return iRead;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_rin.read(m_pcBuff, m_iSize2);
|
|
||||||
m_iEnd = m_rin.gcount();
|
|
||||||
iCurPos %= m_iSize;
|
|
||||||
if(iCurPos > m_iEnd) //Still greater, then EOF attained
|
|
||||||
{
|
|
||||||
assert(m_rin.eof());
|
|
||||||
m_bEOF = true;
|
|
||||||
//Take everything remained
|
|
||||||
int iRead = m_iSize-m_iCurPos;
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
|
||||||
memcpy(pszDataBuf+iRead, m_pcBuff, m_iEnd);
|
|
||||||
return iRead + m_iEnd;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int iRead = m_iSize-m_iCurPos;
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iRead);
|
|
||||||
memcpy(pszDataBuf+iRead, m_pcBuff, iDataLen-iRead);
|
|
||||||
m_iCurPos = iCurPos;
|
|
||||||
assert(m_iCurPos < m_iSize2);
|
|
||||||
m_iBuf = 0;
|
|
||||||
return iDataLen;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
memcpy(pszDataBuf, m_pcBuff+m_iCurPos, iDataLen);
|
|
||||||
m_iCurPos = iCurPos;
|
|
||||||
return iDataLen;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
40
3rdparty/MultiEmulator/src/DoubleBuffering.h
vendored
40
3rdparty/MultiEmulator/src/DoubleBuffering.h
vendored
|
@ -1,40 +0,0 @@
|
||||||
//DoubleBuffering.h Header File
|
|
||||||
|
|
||||||
#ifndef __DOUBLEBUFFERING_H__
|
|
||||||
#define __DOUBLEBUFFERING_H__
|
|
||||||
|
|
||||||
//Typical DISCLAIMER:
|
|
||||||
//The code in this project is Copyright (C) 2003 by George Anescu. You have the right to
|
|
||||||
//use and distribute the code in any way you see fit as long as this paragraph is included
|
|
||||||
//with the distribution. No warranties or claims are made as to the validity of the
|
|
||||||
//information and code contained herein, so use it at your own risk.
|
|
||||||
|
|
||||||
#include <fstream>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
class CDoubleBuffering
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
//Constructor
|
|
||||||
CDoubleBuffering(ifstream& in, char* pcBuff, int iSize, int iDataLen);
|
|
||||||
//Get Next Data Buffer
|
|
||||||
int GetData(char* pszDataBuf, int iDataLen=-1);
|
|
||||||
|
|
||||||
private:
|
|
||||||
ifstream& m_rin;
|
|
||||||
int m_iSize;
|
|
||||||
int m_iSize2; //m_iSize/2
|
|
||||||
int m_iDataLen;
|
|
||||||
//Current Position
|
|
||||||
int m_iCurPos;
|
|
||||||
//End Position
|
|
||||||
int m_iEnd;
|
|
||||||
//Which Buffer
|
|
||||||
int m_iBuf;
|
|
||||||
char* m_pcBuff;
|
|
||||||
//EOF attained
|
|
||||||
bool m_bEOF;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif //__DOUBLEBUFFERING_H__
|
|
38
3rdparty/MultiEmulator/src/MessageDigest.cpp
vendored
38
3rdparty/MultiEmulator/src/MessageDigest.cpp
vendored
|
@ -1,38 +0,0 @@
|
||||||
//MessageDigest.cpp
|
|
||||||
|
|
||||||
#include "MessageDigest.h"
|
|
||||||
#include "DoubleBuffering.h"
|
|
||||||
|
|
||||||
#include <exception>
|
|
||||||
#include <fstream>
|
|
||||||
#include <strstream>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
//Digesting a Full File
|
|
||||||
void IMessageDigest::DigestFile(string const& rostrFileIn, char* pcDigest)
|
|
||||||
{
|
|
||||||
//Is the User's responsability to ensure that pcDigest is appropriately allocated
|
|
||||||
//Open Input File
|
|
||||||
ifstream in(rostrFileIn.c_str(), ios::binary);
|
|
||||||
if(!in)
|
|
||||||
{
|
|
||||||
ostrstream ostr;
|
|
||||||
ostr << "FileDigest ERROR: in IMessageDigest::DigestFile(): Cannot open File " << rostrFileIn << "!" << ends;
|
|
||||||
string ostrMsg = ostr.str();
|
|
||||||
ostr.freeze(false);
|
|
||||||
throw runtime_error(ostrMsg);
|
|
||||||
}
|
|
||||||
//Resetting first
|
|
||||||
Reset();
|
|
||||||
//Reading from file
|
|
||||||
char szLargeBuff[BUFF_LEN+1] = {0};
|
|
||||||
char szBuff[DATA_LEN+1] = {0};
|
|
||||||
CDoubleBuffering oDoubleBuffering(in, szLargeBuff, BUFF_LEN, DATA_LEN);
|
|
||||||
int iRead;
|
|
||||||
while((iRead=oDoubleBuffering.GetData(szBuff)) > 0)
|
|
||||||
AddData(szBuff, iRead);
|
|
||||||
in.close();
|
|
||||||
//Final Step
|
|
||||||
FinalDigest(pcDigest);
|
|
||||||
}
|
|
4
3rdparty/MultiEmulator/src/MessageDigest.h
vendored
4
3rdparty/MultiEmulator/src/MessageDigest.h
vendored
|
@ -28,8 +28,6 @@ public:
|
||||||
virtual void FinalDigest(char* pcDigest) = 0;
|
virtual void FinalDigest(char* pcDigest) = 0;
|
||||||
//Reset current operation in order to prepare for a new one
|
//Reset current operation in order to prepare for a new one
|
||||||
virtual void Reset() = 0;
|
virtual void Reset() = 0;
|
||||||
//Digesting a Full File
|
|
||||||
void DigestFile(string const& rostrFileIn, char* pcDigest);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
enum { BLOCKSIZE=64 };
|
enum { BLOCKSIZE=64 };
|
||||||
|
@ -44,4 +42,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // __MESSAGEDIGEST_H__
|
#endif // __MESSAGEDIGEST_H__
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue