summaryrefslogtreecommitdiff
path: root/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'state.c')
-rw-r--r--state.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/state.c b/state.c
index 2f9780c..b6cc093 100644
--- a/state.c
+++ b/state.c
@@ -900,20 +900,31 @@ bool cGraphLCDState::IsRecording(int CardNumber)
return ret;
}
-std::string cGraphLCDState::Recordings(int CardNumber)
+std::string cGraphLCDState::Recordings(int CardNumber, int selector)
{
std::string ret = "";
std::vector <tRecording>::iterator it;
+ int count = 0;
mutex.Lock();
+ // dsyslog("%s/%s: called CardNumber=%d selector=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector);
it = mRecordings.begin();
while (it != mRecordings.end())
{
if (CardNumber == -1 || it->deviceNumber == CardNumber)
{
+ count++;
+ if (selector > 0) {
+ if (count == selector) {
+ // dsyslog("%s/%s: selector hit CardNumber=%d selector=%d count=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber, selector, count);
+ ret += it->name;
+ break;
+ }
+ } else {
if (ret.length() > 0)
ret += "\n";
ret += it->name;
+ }
}
it++;
}
@@ -922,6 +933,28 @@ std::string cGraphLCDState::Recordings(int CardNumber)
return ret;
}
+int cGraphLCDState::NumRecordings(int CardNumber)
+{
+ std::string ret = "";
+ std::vector <tRecording>::iterator it;
+ int count = 0;
+
+ mutex.Lock();
+ // dsyslog("%s/%s: called CardNumber=%d", PLUGIN_NAME_I18N, __FUNCTION__, CardNumber);
+ it = mRecordings.begin();
+ while (it != mRecordings.end())
+ {
+ if (CardNumber == -1 || it->deviceNumber == CardNumber)
+ {
+ count++;
+ }
+ it++;
+ }
+ mutex.Unlock();
+
+ return count;
+}
+
tOsdState cGraphLCDState::GetOsdState()
{
tOsdState ret;