/*
 * See the README file for copyright information and how to reach the author.
 *
 */

#ifndef __PVRUSB2_COMMON_H
#define __PVRUSB2_COMMON_H

#include <dirent.h>
#include <getopt.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#include <sys/time.h>

#include <vdr/interface.h>
#include <vdr/menu.h>
#include <vdr/osdbase.h>
#include <vdr/plugin.h>
#include <vdr/remote.h>
#include <vdr/skins.h>
#include <vdr/themes.h>
#include <vdr/tools.h>

#define ENTRIES(x,x_type) ((int)(sizeof(x)/sizeof(x_type)))

#define kKeepAlive ((eKeys)(kSetup+4711))

#ifndef MAXLANGCODE2
#define MAXLANGCODE2 4
#endif

typedef char tEditableTextBuffer[255];

enum eSetupItem {
    eSetupResolution,           // 0
    eSetupVolume,               // 1
    eSetupAudioBitrate,         // 2
    eSetupBrightness,           // 3
    eSetupContrast,             // 4
    eSetupHue,                  // 5
    eSetupSaturation,           // 6
    eSetupVideoBitrateAverage,  // 7
    eSetupVideoBitratePeak,     // 8
    eSetupVbr,                  // 9
    eSetupVideoStandard,        // 10
    eSetupVideoInput,           // 11
    eSetupVideoDevice0,         // 12
    eSetupVideoDevice1,
    eSetupVideoDevice2,
    eSetupVideoDevice3,

    eSetupResolutionVertical,
    eSetupResolutionHorizontal,
    eSetupFrequency,
    eSetupSignalPresent
};

class cRMChannelList;
class cRMDeviceItem;
class cPvrUsb2Plugin;
class cRMReader;
class cRMScanner;
class cRMSetup;
class cRMSetupMenu;

#include "channel.h"
#include "channelmenu.h"
#include "device.h"
#include "devicelist.h"
#include "i18n.h"
#include "menuitems.h"
#include "pvrusb2device.h"
#include "reader.h"
#include "scanner.h"
#include "setup.h"
#include "setupmenu.h"
#include "setuptools.h"
#include "tunemenu.h"
#include "pvrusb2.h"

#endif // __PVRUSB2_COMMON_H

