Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ippEngine.h

Go to the documentation of this file.
00001 // 
00002 // DISCLAIMER: 
00003 //  This software was produced by the National Institute of Standards 
00004 //  and Technology (NIST), an agency of the U.S. government, and by statute is 
00005 //  not subject to copyright in the United States.  Recipients of this 
00006 //  software assume all responsibility associated with its operation,
00007 //  modification,maintenance, and subsequent redistribution. 
00008 //
00009 //  See NIST Administration Manual 4.09.07 b and Appendix I. 
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   // check that the connection with the client is still alive
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);

Generated on Wed Nov 8 00:20:00 2006 for IPPDME by  doxygen 1.4.1