specialprocessor.h

Go to the documentation of this file.
00001 /*
00002  * Inter Asterisk Exchange 2
00003  * 
00004  * The entity which receives all manages weirdo iax2 packets that are 
00005  * sent outside of a regular call.
00006  * 
00007  * Open Phone Abstraction Library (OPAL)
00008  *
00009  * Copyright (c) 2006 Stephen Cook 
00010  *
00011  * The contents of this file are subject to the Mozilla Public License
00012  * Version 1.0 (the "License"); you may not use this file except in
00013  * compliance with the License. You may obtain a copy of the License at
00014  * http://www.mozilla.org/MPL/
00015  *
00016  * Software distributed under the License is distributed on an "AS IS"
00017  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00018  * the License for the specific language governing rights and limitations
00019  * under the License.
00020  *
00021  * The Original Code is Open Phone Abstraction Library.
00022  *
00023  * The Initial Developer of the Original Code is Indranet Technologies Ltd
00024  *
00025  * The author of this code is Stephen Cook
00026  *
00027  *  $Log: specialprocessor.h,v $
00028  *  Revision 1.4  2007/04/19 06:17:21  csoutheren
00029  *  Fixes for precompiled headers with gcc
00030  *
00031  *  Revision 1.3  2007/01/17 03:48:13  dereksmithies
00032  *  Tidy up comments, remove leaks, improve reporting of packet types.
00033  *
00034  *  Revision 1.2  2006/09/11 03:12:51  dereksmithies
00035  *  Add logging and MPL license statements.
00036  *
00037  *
00038  */
00039 
00040 #ifndef SPECIALPROCESSOR_H
00041 #define SPECIALPROCESSOR_H
00042 
00043 #ifndef _PTLIB_H
00044 #include <ptlib.h>
00045 #endif
00046 
00047 #include <opal/connection.h>
00048 
00049 #include <iax2/processor.h>
00050 #include <iax2/frame.h>
00051 #include <iax2/iedata.h>
00052 #include <iax2/remote.h>
00053 #include <iax2/safestrings.h>
00054 #include <iax2/sound.h>
00055 
00060 class IAX2SpecialProcessor : public IAX2Processor
00061 {
00062   PCLASSINFO(IAX2SpecialProcessor, IAX2Processor);
00063   
00064  public:
00066   IAX2SpecialProcessor(IAX2EndPoint & ep);
00067 
00069   virtual ~IAX2SpecialProcessor();
00070   
00071  protected:
00073   virtual void ProcessLists();
00074   
00076   virtual void ProcessFullFrame(IAX2FullFrame & fullFrame);
00077   
00079   virtual void ProcessNetworkFrame(IAX2MiniFrame * src);
00080   
00082   virtual void PrintOn(ostream & strm) const;
00083   
00085   virtual void OnNoResponseTimeout();
00086   
00089   virtual BOOL ProcessNetworkFrame(IAX2FullFrameProtocol * src);
00090   
00092   void ProcessIaxCmdPoke(IAX2FullFrameProtocol * src);
00093 };
00094 
00095 #endif /*SPECIALPROCESSOR_H*/

Generated on Fri Mar 7 06:33:41 2008 for OPAL by  doxygen 1.5.1