Class Hierarchy   Class Index   Method Index  

CHMwrapper.h

00001 #ifndef __CHM_WRAPPER_H__
00002 #define __CHM_WRAPPER_H__
00003 //---------------------------------------------------------------------------
00004 // Copyright (C) 1997-2007 iNTERFACEWARE Inc.  All Rights Reserved
00005 //
00006 // Module: CHMwrapper
00007 //
00008 // Author: Greg Norman
00009 // Revision: $Revision: 1.11 $
00010 //
00011 // Last Edit Date: $Date: 2010-03-01 14:23:08 $
00012 // Source: $Source: /home/cvs/cvsroot/CHM/CHMwrapper.h,v $
00013 //---------------------------------------------------------------------------
00014 
00015 #include <CHM/CHMminimumInclude.h>
00016 class CHMstring;
00017 class CHMtransport;
00018 class CHMengine;
00019 
00020 class CHMwrapperPrivate;
00021 
00043 class CHMwrapper
00044 {
00045 public:
00047    CHMwrapper();
00048 
00050    virtual ~CHMwrapper();
00051  
00053    virtual void AddWrapper(CHMstring& MessageData)=0;
00054    
00056    void ClearData(size_t TransportIndex);
00057 
00064    virtual CHMboolean DetectMessage(CHMstring& Buffer, 
00065                                     CHMstring& Message)=0;
00066                                     
00068    CHMengine* Engine();
00069    
00071    virtual void OnMessage(const CHMstring& MessageData,
00072                           size_t           TransportIndex);
00073 
00077    virtual size_t ReceiveData(const   CHMstring& Data,
00078                               size_t  TransportIndex);
00079 
00083    void SendResponseMessage(const CHMstring& MessageData,
00084                             size_t           TransportIndex);
00085 
00087    void SetEngine(CHMengine* pEngine);
00088 
00090    CHMtransport* Transport();
00091 
00092 private:
00093    CHMwrapper(CHMwrapper& Orig);
00094    CHMwrapper& operator=(CHMwrapper& Orig);
00095 
00096    CHMwrapperPrivate* pMember;
00097 };
00098 
00099 #endif // end of defensive include