repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cec: add a void* parameter to the callback methods, that can be set when enabling...
[deb_libcec.git]
/
src
/
lib
/
LibCEC.cpp
diff --git
a/src/lib/LibCEC.cpp
b/src/lib/LibCEC.cpp
index 55af1803b7c1d951a9937e2df2adc8d420214911..52dfa515776a7beada82a77e5c831b7f24209945 100644
(file)
--- a/
src/lib/LibCEC.cpp
+++ b/
src/lib/LibCEC.cpp
@@
-46,7
+46,8
@@
CLibCEC::CLibCEC(const char *strDeviceName, cec_device_type_list types) :
m_iStartTime(GetTimeMs()),
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
m_buttontime(0),
m_iStartTime(GetTimeMs()),
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
m_buttontime(0),
- m_callbacks(NULL)
+ m_callbacks(NULL),
+ m_cbParam(NULL)
{
m_cec = new CCECProcessor(this, strDeviceName, types);
}
{
m_cec = new CCECProcessor(this, strDeviceName, types);
}
@@
-55,7
+56,8
@@
CLibCEC::CLibCEC(const char *strDeviceName, cec_logical_address iLogicalAddress
m_iStartTime(GetTimeMs()),
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
m_buttontime(0),
m_iStartTime(GetTimeMs()),
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
m_buttontime(0),
- m_callbacks(NULL)
+ m_callbacks(NULL),
+ m_cbParam(NULL)
{
m_cec = new CCECProcessor(this, strDeviceName, iLogicalAddress, iPhysicalAddress);
}
{
m_cec = new CCECProcessor(this, strDeviceName, iLogicalAddress, iPhysicalAddress);
}
@@
-89,11
+91,14
@@
void CLibCEC::Close(void)
m_cec->StopThread();
}
m_cec->StopThread();
}
-bool CLibCEC::EnableCallbacks(ICECCallbacks *callbacks)
+bool CLibCEC::EnableCallbacks(
void *cbParam,
ICECCallbacks *callbacks)
{
CLockObject lock(&m_mutex);
if (m_cec)
{
CLockObject lock(&m_mutex);
if (m_cec)
+ {
+ m_cbParam = cbParam;
m_callbacks = callbacks;
m_callbacks = callbacks;
+ }
return false;
}
return false;
}
@@
-347,7
+352,7
@@
void CLibCEC::AddLog(cec_log_level level, const string &strMessage)
snprintf(message.message, sizeof(message.message), "%s", strMessage.c_str());
if (m_callbacks)
snprintf(message.message, sizeof(message.message), "%s", strMessage.c_str());
if (m_callbacks)
- m_callbacks->CBCecLogMessage(message);
+ m_callbacks->CBCecLogMessage(m
_cbParam, m
essage);
else
m_logBuffer.Push(message);
}
else
m_logBuffer.Push(message);
}
@@
-357,7
+362,7
@@
void CLibCEC::AddKey(cec_keypress &key)
{
CLockObject lock(&m_mutex);
if (m_callbacks)
{
CLockObject lock(&m_mutex);
if (m_callbacks)
- m_callbacks->CBCecKeyPress(key);
+ m_callbacks->CBCecKeyPress(
m_cbParam,
key);
else
m_keyBuffer.Push(key);
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
else
m_keyBuffer.Push(key);
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
@@
-375,7
+380,7
@@
void CLibCEC::AddKey(void)
key.keycode = m_iCurrentButton;
if (m_callbacks)
key.keycode = m_iCurrentButton;
if (m_callbacks)
- m_callbacks->CBCecKeyPress(key);
+ m_callbacks->CBCecKeyPress(
m_cbParam,
key);
else
m_keyBuffer.Push(key);
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
else
m_keyBuffer.Push(key);
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
@@
-388,7
+393,7
@@
void CLibCEC::AddCommand(const cec_command &command)
CLockObject lock(&m_mutex);
if (m_callbacks)
{
CLockObject lock(&m_mutex);
if (m_callbacks)
{
- m_callbacks->CBCecCommand(command);
+ m_callbacks->CBCecCommand(
m_cbParam,
command);
}
else if (m_commandBuffer.Push(command))
{
}
else if (m_commandBuffer.Push(command))
{