Files
neutrino/lib/libcoolstream/dvb-ci.h
focus 03066eab04 Testing CI reset
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@491 e54a6e83-5905-42d5-8d5c-058d10e6a962
2010-03-17 09:49:44 +00:00

63 lines
1.3 KiB
C++

#ifndef __DVBCI_H
#define __DVBCI_H
#ifdef __cplusplus
extern "C" {
#endif
void CI_MenuAnswer(unsigned char bSlotIndex,unsigned char choice);
void CI_Answer(unsigned char bSlotIndex,unsigned char *pBuffer,unsigned char nLength);
void CI_CloseMMI(unsigned char bSlotIndex);
void CI_EnterMenu(unsigned char bSlotIndex);
#ifdef __cplusplus
}
#endif
#define MAX_MMI_ITEMS 20
#define MAX_MMI_TEXT_LEN 255
#define MAX_MMI_CHOICE_TEXT_LEN 255
typedef struct
{
int slot;
int choice_nb;
char title[MAX_MMI_TEXT_LEN];
char subtitle[MAX_MMI_TEXT_LEN];
char bottom[MAX_MMI_TEXT_LEN];
char choice_item[MAX_MMI_ITEMS][MAX_MMI_CHOICE_TEXT_LEN];
} MMI_MENU_LIST_INFO;
typedef struct
{
int slot;
int blind;
int answerlen;
char enguiryText[MAX_MMI_TEXT_LEN];
} MMI_ENGUIRY_INFO;
typedef void (*SEND_MSG_HOOK) (unsigned int msg, unsigned int data);
class cDvbCi {
private:
int slots;
bool init;
int pmtlen;
unsigned char * pmtbuf;
void SendPMT();
pthread_mutex_t ciMutex;
public:
bool Init(void);
bool SendPMT(unsigned char *data, int len);
bool SendDateTime(void);
//
cDvbCi(int Slots);
~cDvbCi();
static cDvbCi * getInstance();
SEND_MSG_HOOK SendMessage;
void SetHook(SEND_MSG_HOOK _SendMessage) { SendMessage = _SendMessage; };
bool CamPresent(int slot);
bool GetName(int slot, char * name);
bool Reset(int slot);
};
#endif //__DVBCI_H