00001 #ifndef CAMSTREAMAPP_HPP
00002 #define CAMSTREAMAPP_HPP
00003
00004 #include <qapplication.h>
00005 #include <qcolor.h>
00006 #include <qdict.h>
00007 #include <qdom.h>
00008 #include <qfile.h>
00009 #include <qfont.h>
00010 #include <qstring.h>
00011
00012 #include "VideoOptions.h"
00013 #include "VideoCollector.h"
00014
00027 enum FileTypeEnum
00028 {
00029 file_jpeg,
00030 file_png,
00031 file_ppm,
00032 file_bmp,
00033
00034 file_MAX
00035 };
00036
00037
00038 class CCamStreamApp: public QApplication
00039 {
00040 private:
00041 QFile ConfigFile;
00042 QString UploadDir;
00043
00044 int snap_bitmask;
00045
00046 QList<SVideoOptions> VOpts;
00047
00048 QDict<QString> VisiblePanels;
00049
00050 void InitFileTypes();
00051
00052 void ReadConfigFile();
00053 void SaveConfigFile();
00054
00055 public:
00056 CVideoCollector *VideoDevices;
00057 struct {
00058 QDomDocument Root;
00059 QDomElement Defaults;
00060 QDomElement VideoDevices;
00061 } Configuration;
00062
00063 CCamStreamApp(int argc, char *argv[]);
00064 ~CCamStreamApp();
00065
00066 QString GetUploadTmpDir() const;
00067
00068
00069 int GetNumberOfFileTypes() const;
00070 int GetFileTypeMask() const;
00071 QString GetFileTypeExtension(int n) const;
00072 QString GetFileTypeFormatStr(int n) const;
00073 int FormatStrToEnum(const QString &) const;
00074 QString FormatStrToExtension(const QString &) const;
00075
00076 SVideoOptions *FindVideoOptions(const QString &name, const QString &node, bool create = FALSE);
00077 };
00078
00080 extern CCamStreamApp *CamApp;
00081
00082 #endif
00083
00084