ISimpleMxPEGViewer.h

00001 //           ///          //                                  C++ Cross Platform
00002 //          /////        ////
00003 //         /// XXX     XXX ///            ///////////   /////////     ///   ///
00004 //        ///    XXX XXX    ///         ///             ///    ///   ///  ///
00005 //       ///       XXX       ///         /////////     ///      //  //////
00006 //      ///      XXX XXX      ///               ///   ///    ///   ///  ///
00007 //     ////    XXX     XXX    ////    ////////////  //////////    ///   ///
00008 //    ////                     ////
00009 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00010 //  //// Security Vision Systems //////////////////////////////////////////////
00011 //
00012 //  $Author: khe_admin $
00013 //  $LastChangedBy: khe_admin $
00014 //  $LastChangedDate: 2007-05-29 15:10:15 +0200 (Tue, 29 May 2007) $
00015 //  $HeadURL: http://svn.mobotix.net/svn/mxsdk/src/shared/trunk/interfaces/ISimpleMxPEGViewer.h $
00016 //
00018 
00019 
00020 
00021 #ifndef __MX_ISIMPLEMXPEGVIEWER_H__
00022 #define __MX_ISIMPLEMXPEGVIEWER_H__
00023 
00024 
00025 
00026 #define MX_ISIMPLEMXPEGVIEWER_ID "ISimpleMxPEGViewer"
00027 
00028 
00029 
00030 #include "IQtWidget.h"
00031 #include "ICanUseDialogs.h"
00032 #include "ICanUseKeyChain.h"
00033 #include "ISupportsHostSpecification.h"
00034 #include "ISupportsProxySpecification.h"
00035 #include "ISupportsWebPageSpecification.h"
00036 
00037 #include <mxm/core/mxmQtSignal.h>
00038 #include <mxm/core/mxmQtSlot.h>
00039 #include <mxm/core/mxmIPAddress.h>
00040 
00041 
00042 
00043 class mxmIPAddress;
00044 
00045 class QString;
00046 
00047 
00048 
00049 namespace mx {
00050    
00053 
00058    class ISimpleMxPEGViewer : public virtual IQtWidget,
00059                               public virtual ICanUseDialogs,
00060                               public virtual ICanUseKeyChain,
00061                               public virtual ISupportsHostSpecification,
00062                               public virtual ISupportsProxySpecification,
00063                               public virtual ISupportsWebPageSpecification {
00064       
00065     public:
00067       virtual void setWindowTitlePrefix(const QString& window_title_prefix) = 0;
00068       
00070       virtual void enableFramerateMeasureMode(bool enabled,
00071                                               int measure_interval_ms = 10000)
00072                     = 0;
00074       virtual void enableScaleToFit(bool enabled) = 0;
00075       
00078 
00085       virtual void playCameraLiveStream(const mxmIPAddress &camera,
00086                                         const mxmIPAddress &proxy
00087                                                = mxmIPAddress::nullIP(),
00088                                         float fps = 4.0f)                = 0;
00090       virtual mxmQtSlot playCameraLiveStreamSlot() = 0;
00093 
00100       virtual void playHTTPGetStream(const mxmIPAddress &host,
00101                                      const mxmIPAddress &proxy,
00102                                      const mxmStringList &web_pages) = 0;
00104       virtual mxmQtSlot playHTTPGetStreamSlot() = 0;
00107       virtual void stop() = 0;
00109       virtual mxmQtSlot stopSlot() = 0;
00110       
00112       virtual int lastPlaybackFrameCounter() = 0;
00113       
00115       virtual mxmQtSignal framerateMeasuredSignal() = 0;
00118       virtual mxmQtSignal streamingStartedSignal() = 0;
00120       virtual mxmQtSignal streamingStoppedSignal() = 0;
00121       
00124       virtual void addMenuItem(const QString& item_text,
00125                                mxmQtSlot target_slot)   = 0;
00127       virtual void addMenuSeparator() = 0;
00128    };
00129 };
00130 
00131 
00132 
00133 #endif   // __MX_ISIMPLEMXPEGVIEWER_H__
00134 

Generated on Fri Jun 29 17:21:04 2007 for MxPEG SDK by  doxygen 1.4.6