Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

mxcpcStreamDecoder.h

00001 //           ///          //                                        Mx clientSDK
00002 //          /////        ////                    Mx Crossplatform Client Library
00003 //         /// XXX     XXX ///
00004 //        ///    XXX XXX    ///     $RCSfile: mxcpcStreamDecoder.h,v $
00005 //       ///       XXX       ///     $Revision: 1.4 $
00006 //      ///      XXX XXX      ///     $Date: 2005/12/12 19:29:16 $
00007 //     ////    XXX     XXX    ////     $Author: cvs-kai $
00008 //    ////                     ////
00009 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00010 //  //// Security Vision Systems //////////////////////////////////////////////
00011 //                                                                          //
00012 //  Copyright (C) 2005 - 2006, MOBOTIX AG, Germany                         //
00013 //  This software is made available under the BSD licence. Please refer   //
00014 //  to the file LICENCE.TXT contained in this distribution for details.  //
00015 //                                                                      //
00016 //  /////////////////////////////////////////////////////////////////////
00017 
00018 
00019 
00020 #ifndef __MXCPC_STREAMDECODER_H__
00021 #define __MXCPC_STREAMDECODER_H__
00022 
00023 
00024 
00025 class mxcpcStreamSource;
00026 
00027 
00028 
00029 //! Interface to all stream decoders.
00030 /*!
00031  *  \ingroup mxcpc_core
00032  */
00033 class mxcpcStreamDecoder {
00034 
00035  protected:
00036   mxcpcStreamSource *StreamSource;
00037 
00038  public:
00039   //! The stream decoder assumes ownership over the stream source object.
00040   /*!
00041    *  Thus, deleting the decoder results in disconnecting from the stream
00042    *  source.
00043    */
00044   mxcpcStreamDecoder(mxcpcStreamSource *source);
00045   virtual ~mxcpcStreamDecoder();
00046    
00047  public:
00048   //! Decodes at most <tt>num</tt> bytes of raw stream data, and returns 
00049   //! the number of bytes actually decoded.
00050   virtual int decode(int num) = 0;
00051   //! Returns whether or not the decoder's stream source is still operational
00052   //! ("up")
00053   bool sourceStillUp(void);
00054 };
00055 
00056 
00057 
00058 #endif   // __MXCPC_STREAMDECODER_H__

Generated on Mon Jan 30 15:13:08 2006 for mxcpc by  doxygen 1.4.4