00001
#ifndef CAMSTREAMAPP_HPP
00002
#define CAMSTREAMAPP_HPP
00003
00004
#ifdef HAVE_CONFIG_H
00005
#include "config.h"
00006
#endif
00007
00008
#include <qapplication.h>
00009
#include <qcolor.h>
00010
#include <qdict.h>
00011
#include <qdir.h>
00012
#include <qdom.h>
00013
#include <qfile.h>
00014
#include <qfont.h>
00015
#include <qstring.h>
00016
00029 enum FileTypeEnum
00030 {
00031
file_jpeg,
00032
file_png,
00033
file_ppm,
00034
file_bmp,
00035
00036
file_MAX
00037 };
00038
00039
00040 class CCamStreamApp:
public QApplication
00041 {
00042
private:
00043 QDir m_ConfigDir;
00044 QFile m_ConfigFile;
00045 QDir m_TempDir;
00046
int m_TempFileNumber;
00047 QString m_ShareDir;
00048
00049
int snap_bitmask;
00050
00051 QDict<QString> VisiblePanels;
00052
00053
void InitFileTypes();
00054
00055
void UpdateConfiguration();
00056
void ReadConfigFile();
00057
void SaveConfigFile();
00058
00059
public:
00061 struct _Configuration {
00062 QDomDocument
Document;
00063 QDomElement
Root;
00064 QDomElement
Defaults;
00065 QDomElement
VideoDevices;
00066 QDomElement
AudioDevices;
00067 }
Configuration;
00068
00069
CCamStreamApp(
int argc,
char *argv[]);
00070
~CCamStreamApp();
00071
00072 QString
GetShareDir() const;
00073
00074
00075 const QString GetTempFileName(const QString &extension = QString::null);
00076
00077
00078
int GetNumberOfFileTypes() const;
00079
int GetFileTypeMask() const;
00080 static QString GetFileTypeExtension(
int n);
00081 static QString GetFileTypeFormatStr(
int n);
00082 static
int FormatStrToEnum(const QString &);
00083 static QString FormatStrToExtension(const QString &);
00084
00085 QDomNode FindVideoDeviceConfig(const QString &name, const QString &node,
bool create = false);
00086 QDomNode FindAudioDeviceConfig(const QString &name, const QString &node,
bool create = false);
00087
00088
void DumpConfigFile();
00089 };
00090
00092 extern
CCamStreamApp *g_pCamApp;
00093
00094 #endif
00095