Initial commit
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
// DataReceiver.h: interface for the CDataReceiver class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef DataBuffersH
|
||||
#define DataBuffersH
|
||||
|
||||
#include <string.h>
|
||||
#include "thread.h"
|
||||
|
||||
#define ERR_DATA_END 1
|
||||
#define ERR_DATA_ID -1
|
||||
#define ERR_PACK_ID -2
|
||||
#define ERR_DATA_SIZE -3
|
||||
#define ERR_BUFFER_NUM -4
|
||||
|
||||
#define DTYPE_STYLETEMP 0
|
||||
#define DTYPE_STYLEFILE 1
|
||||
#define DTYPE_STYLESTATE 2
|
||||
#define DTYPE_STYLEDATA 3
|
||||
#define DTYPE_QAUPDATE 4
|
||||
#define DTYPE_SONGFILE 5
|
||||
#define DTYPE_NTUPDATE 6
|
||||
#define DTYPE_STYLESHARE 7
|
||||
#define DTYPE_STYLEINFO 8
|
||||
#define DTYPE_ICONFILE 9
|
||||
|
||||
#define MAX_BUFFER_ID 0x7FFFFFF
|
||||
|
||||
typedef struct tagDataBuffer
|
||||
{
|
||||
int idBuffer;
|
||||
int idUser;
|
||||
int idPack;
|
||||
int iClientType;
|
||||
int iDataType;
|
||||
int nDataSize;
|
||||
int nRecvSize;
|
||||
int tSeconds;
|
||||
char* pData;
|
||||
|
||||
tagDataBuffer(){
|
||||
memset( this, 0, sizeof(tagDataBuffer) );
|
||||
}
|
||||
|
||||
~tagDataBuffer(){
|
||||
if( pData ){
|
||||
delete[] pData;
|
||||
pData = NULL;
|
||||
}
|
||||
}
|
||||
} DATABUFFER, *PDATABUFFER;
|
||||
|
||||
#include <list>
|
||||
using namespace std;
|
||||
typedef list< PDATABUFFER > DATABUFFERLIST;
|
||||
|
||||
class CDataBufferManager
|
||||
{
|
||||
public:
|
||||
CDataBufferManager();
|
||||
virtual ~CDataBufferManager();
|
||||
|
||||
int NewDataBuffer( int idUser, int iType, int nDataSize, char* pData=NULL, int iClientType=0 );
|
||||
int ReceiveData( int idBuffer, int idPack, int nSize, char* pNewData );
|
||||
int GetData( int idBuffer, int idPack, int& nSize, char*& pData);
|
||||
DATABUFFER * GetBuffer( int idBuffer );
|
||||
void DeleteBuffer( int idBuffer );
|
||||
void OnTimer();
|
||||
|
||||
private:
|
||||
CSema m_smProcess;
|
||||
int m_seqFileNo;
|
||||
DATABUFFERLIST m_lstBuffers;
|
||||
};
|
||||
|
||||
#endif // !defined(_DATARECEIVER_H_INCLUDED_)
|
||||
Reference in New Issue
Block a user