00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #pragma once
00011 #include "ippdme/ippdme.h"
00012 #include "ippdme/ippObject.h"
00013 #include "ippdme/ippTag.h"
00014 #include "ippdme/Socket/ippSocket.h"
00015
00016 class ippLogger;
00017
00018
00019 class IPPDME_EXT_CLASS ippEngine : public ippObject
00020 {
00021
00022 public:
00023 ippEngine();
00024 virtual ~ippEngine();
00025
00026 void setLogger(ippLogger* logger);
00027 ippLogger* GetLogger() const;
00028
00029 void LogMessage(const char* data1,const char* data2=0);
00030 virtual void HeartBeat() =0;
00031
00032 void ProbeConnection();
00033
00034 protected:
00035 virtual void ProcessLine(const char* inputline) =0;
00036 virtual void ProcessMisformedLine(const char* inputline)=0;
00037
00038 virtual void OnConnectionLost();
00039
00040 void PerformRead();
00041
00042 ippSocket _socket;
00043
00044 private:
00045 bool readdata(char* buffer,int sizebuffer) ;
00046 ippLogger* _logger;
00047 char _assemblyBuffer[IPPSIZE];
00048 private:
00049 ippEngine(const ippEngine&);
00050 void operator=(const ippEngine&);
00051 };
00052
00053 void IPPDME_EXT_CLASS ippSleep(int time_in_milisec);