update libcs headers

Origin commit data
------------------
Branch: ni/coolstream
Commit: f9010a8bd1
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2012-01-13 (Fri, 13 Jan 2012)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2012-01-13 16:15:21 +04:00
parent d931a29907
commit a308a6e320
2 changed files with 33 additions and 6 deletions

View File

@@ -5,6 +5,7 @@
/* */ /* */
/* (C) 2010 CoolStream International Ltd. */ /* (C) 2010 CoolStream International Ltd. */
/* */ /* */
/* $Id:: ca_cs.h 2528 2011-12-22 13:19:41Z nightshad $ */
/*******************************************************************************/ /*******************************************************************************/
#ifndef __CA_CS_H_ #ifndef __CA_CS_H_
#define __CA_CS_H_ #define __CA_CS_H_
@@ -26,13 +27,13 @@ enum CA_SLOT_TYPE {
enum CA_MESSAGE_FLAGS { enum CA_MESSAGE_FLAGS {
CA_MESSAGE_EMPTY = (1 << 0), CA_MESSAGE_EMPTY = (1 << 0),
CA_MESSAGE_HAS_PARAM1_DATA = (1 << 1), // Free after use! CA_MESSAGE_HAS_PARAM1_DATA = (1 << 1), /// Free after use!
CA_MESSAGE_HAS_PARAM1_INT = (1 << 2), CA_MESSAGE_HAS_PARAM1_INT = (1 << 2),
CA_MESSAGE_HAS_PARAM1_PTR = (1 << 3), CA_MESSAGE_HAS_PARAM1_PTR = (1 << 3),
CA_MESSAGE_HAS_PARAM2_INT = (1 << 4), CA_MESSAGE_HAS_PARAM2_INT = (1 << 4),
CA_MESSAGE_HAS_PARAM2_PTR = (1 << 5), CA_MESSAGE_HAS_PARAM2_PTR = (1 << 5),
CA_MESSAGE_HAS_PARAM2_DATA = (1 << 6), CA_MESSAGE_HAS_PARAM2_DATA = (1 << 6),
CA_MESSAGE_HAS_PARAM3_DATA = (1 << 7), // Free after use! CA_MESSAGE_HAS_PARAM3_DATA = (1 << 7), /// Free after use!
CA_MESSAGE_HAS_PARAM3_INT = (1 << 8), CA_MESSAGE_HAS_PARAM3_INT = (1 << 8),
CA_MESSAGE_HAS_PARAM3_PTR = (1 << 9), CA_MESSAGE_HAS_PARAM3_PTR = (1 << 9),
CA_MESSAGE_HAS_PARAM4_INT = (1 << 10), CA_MESSAGE_HAS_PARAM4_INT = (1 << 10),
@@ -59,6 +60,7 @@ enum CA_MESSAGE_MSGID {
CA_MESSAGE_MSG_ECM_ARRIVED, CA_MESSAGE_MSG_ECM_ARRIVED,
CA_MESSAGE_MSG_EMM_ARRIVED, CA_MESSAGE_MSG_EMM_ARRIVED,
CA_MESSAGE_MSG_CHANNEL_CHANGE, CA_MESSAGE_MSG_CHANNEL_CHANGE,
CA_MESSAGE_MSG_GUI_READY,
CA_MESSAGE_MSG_EXIT, CA_MESSAGE_MSG_EXIT,
}; };
@@ -84,36 +86,60 @@ typedef struct CA_MESSAGE {
#define CS_CA_PDATA void #define CS_CA_PDATA void
#endif #endif
/// CA module class
class cCA : public OpenThreads::Thread { class cCA : public OpenThreads::Thread {
private: private:
/// Static instance of the CA module
static cCA *inst; static cCA *inst;
// /// Private constructor (singleton method)
cCA(void); cCA(void);
// /// Private data for the CA module
CS_CA_PDATA *privateData; CS_CA_PDATA *privateData;
enum CA_INIT_MASK initMask; enum CA_INIT_MASK initMask;
bool exit; bool exit;
bool started; bool started;
bool guiReady; bool guiReady;
/// Thread method
virtual void run(void); virtual void run(void);
public: public:
/// Returns the number of CI slots
u32 GetNumberCISlots(void); u32 GetNumberCISlots(void);
u32 GetNumberSmartCardSlots(void); // /// Returns the number of Smartcard slots
u32 GetNumberSmartCardSlots(void);
/// Singleton
static cCA *GetInstance(void); static cCA *GetInstance(void);
/// Send PMT to a individual or to all available modules
bool SendPMT(int Unit, unsigned char *Data, int Len, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL); bool SendPMT(int Unit, unsigned char *Data, int Len, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL);
/// Sends a message to the CA thread
bool SendMessage(const CA_MESSAGE *Msg); bool SendMessage(const CA_MESSAGE *Msg);
/// Sets which modules to initialize. It is only
/// possible to change this once!
void SetInitMask(enum CA_INIT_MASK InitMask); void SetInitMask(enum CA_INIT_MASK InitMask);
/// Sets the frequency (in Hz) of the TS stream input (only valid for CI)
void SetTSClock(u32 Speed);
/// Start the CA module
bool Start(void); bool Start(void);
/// Stops the CA module
void Stop(void); void Stop(void);
/// Notify that the GUI is ready to receive messages
/// (CA messages coming from a module)
void Ready(bool Set); void Ready(bool Set);
/// Resets a module (if possible)
void ModuleReset(enum CA_SLOT_TYPE, u32 Slot); void ModuleReset(enum CA_SLOT_TYPE, u32 Slot);
/// Checks if a module is present
bool ModulePresent(enum CA_SLOT_TYPE, u32 Slot); bool ModulePresent(enum CA_SLOT_TYPE, u32 Slot);
/// Returns the module name in array Name
void ModuleName(enum CA_SLOT_TYPE, u32 Slot, char *Name); void ModuleName(enum CA_SLOT_TYPE, u32 Slot, char *Name);
/// Notify the module we want to enter menu
void MenuEnter(enum CA_SLOT_TYPE, u32 Slot); void MenuEnter(enum CA_SLOT_TYPE, u32 Slot);
/// Notify the module with our answer (choice nr)
void MenuAnswer(enum CA_SLOT_TYPE, u32 Slot, u32 choice); void MenuAnswer(enum CA_SLOT_TYPE, u32 Slot, u32 choice);
/// Notify the module with our answer (binary)
void InputAnswer(enum CA_SLOT_TYPE, u32 Slot, u8 * Data, int Len); void InputAnswer(enum CA_SLOT_TYPE, u32 Slot, u8 * Data, int Len);
/// Notify the module we closed the menu
void MenuClose(enum CA_SLOT_TYPE, u32 Slot); void MenuClose(enum CA_SLOT_TYPE, u32 Slot);
/// Virtual destructor
virtual ~cCA(); virtual ~cCA();
}; };
#endif //__CA_H_ #endif ///__CA_H_

View File

@@ -230,6 +230,7 @@ public:
int CloseVBI(void); int CloseVBI(void);
int StartVBI(unsigned short pid); int StartVBI(unsigned short pid);
int StopVBI(void); int StopVBI(void);
bool GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video = true, bool get_osd = false, bool scale_to_video = false);
}; };
#endif // __VIDEO_CS_H_ #endif // __VIDEO_CS_H_