diff options
author | Lars Heer <l.heer@gmx.de> | 2013-09-18 05:50:03 +0200 |
---|---|---|
committer | Lars Heer <l.heer@gmx.de> | 2013-09-18 05:50:03 +0200 |
commit | ccf6e0f9c6b0481ed13e0f4794e3fbead750f385 (patch) | |
tree | ed86efb54f7ee41edfba5c89ca519b5fd10aa0d5 /cam_menu.h | |
download | vdr-plugin-mcli-ccf6e0f9c6b0481ed13e0f4794e3fbead750f385.tar.gz vdr-plugin-mcli-ccf6e0f9c6b0481ed13e0f4794e3fbead750f385.tar.bz2 |
added vdr-plugin-mcli-0.0.1+svn20120927
Diffstat (limited to 'cam_menu.h')
-rw-r--r-- | cam_menu.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/cam_menu.h b/cam_menu.h new file mode 100644 index 0000000..3ee5f51 --- /dev/null +++ b/cam_menu.h @@ -0,0 +1,56 @@ +#ifndef CAM_MENU_H +#define CAM_MENU_H + +#include <vdr/osdbase.h> +#include "filter.h" +#include "device.h" + +#define MAX_CAMS_IN_MENU 16 +#define CAMMENU_TIMEOUT 15 + +typedef struct +{ + int port; + char iface[IFNAMSIZ]; + char cmd_sock_path[_POSIX_PATH_MAX]; + int tuner_type_limit[FE_DVBS2 + 1]; + int mld_start; +} cmdline_t; + +enum eInputRequest +{ eInputNone, eInputBlind, eInputNotBlind }; + +class cNCUpdate; + +class cCamMenu:public cOsdMenu +{ +private: + int CamFind (); + int CamMenuOpen (mmi_info_t * mmi_info); + int CamMenuSend (int fd, const char *c); + int CamMenuReceive (int fd, char *buf, int bufsize); + void CamMenuClose (int fd); + int CamPollText (mmi_info_t * text); + cmdline_t *m_cmd; + UDPContext *m_cam_mmi; + int mmi_session; + bool inCamMenu; + bool inMMIBroadcastMenu; + bool end; + int currentSelected; + eInputRequest inputRequested; + char pin[32]; + int pinCounter; + char buf[MMI_TEXT_LENGTH]; + bool alreadyReceived; + cNCUpdate *NCUpdate;; +public: + cCamMenu (cmdline_t * m_cmd); + cCamMenu (cmdline_t * m_cmd, mmi_info_t * mmi_info); + ~cCamMenu (); + eOSState ProcessKey (eKeys Key); + void OpenCamMenu (); + void Receive (); +}; + +#endif |