00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
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