Class Hierarchy   Class Index   Method Index  

CHMtransport.h

00001 #ifndef __CHM_TRANSPORT_H__
00002 #define __CHM_TRANSPORT_H__
00003 
00004 //---------------------------------------------------------------------------
00005 // Copyright (C) 1997-2007 iNTERFACEWARE Inc.  All Rights Reserved
00006 //
00007 // Module: CHMtransport
00008 //
00009 // Author: Greg Norman
00010 // Revision: $Revision: 1.8 $
00011 //
00012 // Last Edit Date: $Date: 2007-02-12 21:35:42 $
00013 // Source: $Source: /home/cvs/cvsroot/CHM/CHMtransport.h,v $
00014 //---------------------------------------------------------------------------
00015 #include <CHM/CHMminimumInclude.h>
00016 class CHMstring;
00017 class CHMengine;
00018 class CHMwrapper;
00019 class CHMoutputLog;
00020 
00029 class CHMtransport
00030 {
00031 public:
00033    CHMtransport();
00034    
00036    virtual ~CHMtransport();
00037 
00039    CHMengine* Engine()                { return m_pEngine; }
00040 
00042    CHMoutputLog* Log();
00043 
00047    virtual void OnError(size_t Code, const CHMchar* Description);
00048       
00054    virtual void SendResponseMessage(const CHMstring& MessageData,
00055                                     size_t TransportIndex)=0; 
00056                                     
00060    void SetEngine(CHMengine* pEngine) { m_pEngine = pEngine; }
00061    
00065    CHMwrapper* Wrapper();
00066 
00067 private:
00068    CHMengine*   m_pEngine;
00069    // not allowed
00070    CHMtransport(const CHMtransport& Orig);
00071    CHMtransport& operator=(const CHMtransport& Orig);
00072 };
00073 
00074 #endif // end of defensive include