vdr 2.6.1
|
#include <recording.h>
Public Member Functions | |
cRecordings (bool Deleted=false) | |
virtual | ~cRecordings () |
void | ResetResume (const char *ResumeFileName=NULL) |
void | ClearSortNames (void) |
const cRecording * | GetById (int Id) const |
cRecording * | GetById (int Id) |
const cRecording * | GetByName (const char *FileName) const |
cRecording * | GetByName (const char *FileName) |
void | Add (cRecording *Recording) |
void | AddByName (const char *FileName, bool TriggerUpdate=true) |
void | DelByName (const char *FileName) |
void | UpdateByName (const char *FileName) |
int | TotalFileSizeMB (void) const |
double | MBperMinute (void) const |
int | PathIsInUse (const char *Path) const |
int | GetNumRecordingsInPath (const char *Path) const |
bool | MoveRecordings (const char *OldPath, const char *NewPath) |
cRecordings (bool Deleted=false) | |
virtual | ~cRecordings () |
void | ResetResume (const char *ResumeFileName=NULL) |
void | ClearSortNames (void) |
const cRecording * | GetById (int Id) const |
cRecording * | GetById (int Id) |
const cRecording * | GetByName (const char *FileName) const |
cRecording * | GetByName (const char *FileName) |
void | Add (cRecording *Recording) |
void | AddByName (const char *FileName, bool TriggerUpdate=true) |
void | DelByName (const char *FileName) |
void | UpdateByName (const char *FileName) |
int | TotalFileSizeMB (void) const |
double | MBperMinute (void) const |
int | PathIsInUse (const char *Path) const |
int | GetNumRecordingsInPath (const char *Path) const |
bool | MoveRecordings (const char *OldPath, const char *NewPath) |
![]() | |
cList (const char *NeedsLocking=NULL) | |
cList (const char *NeedsLocking=NULL) | |
const cRecording * | Get (int Index) const |
cRecording * | Get (int Index) |
const cRecording * | Get (int Index) const |
cRecording * | Get (int Index) |
const cRecording * | First (void) const |
cRecording * | First (void) |
const cRecording * | First (void) const |
cRecording * | First (void) |
const cRecording * | Last (void) const |
cRecording * | Last (void) |
const cRecording * | Last (void) const |
cRecording * | Last (void) |
const cRecording * | Prev (const cRecording *Object) const |
cRecording * | Prev (const cRecording *Object) |
const cRecording * | Prev (const cRecording *Object) const |
cRecording * | Prev (const cRecording *Object) |
const cRecording * | Next (const cRecording *Object) const |
cRecording * | Next (const cRecording *Object) |
const cRecording * | Next (const cRecording *Object) const |
cRecording * | Next (const cRecording *Object) |
![]() | |
virtual | ~cListBase () |
bool | Lock (cStateKey &StateKey, bool Write=false, int TimeoutMs=0) const |
void | SetSyncStateKey (cStateKey &StateKey) |
void | SetUseGarbageCollector (void) |
void | SetExplicitModify (void) |
void | SetModified (void) |
void | Add (cListObject *Object, cListObject *After=NULL) |
void | Ins (cListObject *Object, cListObject *Before=NULL) |
void | Del (cListObject *Object, bool DeleteObject=true) |
virtual void | Move (int From, int To) |
void | Move (cListObject *From, cListObject *To) |
virtual void | Clear (void) |
bool | Contains (const cListObject *Object) const |
const cListObject * | Get (int Index) const |
cListObject * | Get (int Index) |
int | Count (void) const |
void | Sort (void) |
virtual | ~cListBase () |
bool | Lock (cStateKey &StateKey, bool Write=false, int TimeoutMs=0) const |
void | SetSyncStateKey (cStateKey &StateKey) |
void | SetUseGarbageCollector (void) |
void | SetExplicitModify (void) |
void | SetModified (void) |
void | Add (cListObject *Object, cListObject *After=NULL) |
void | Ins (cListObject *Object, cListObject *Before=NULL) |
void | Del (cListObject *Object, bool DeleteObject=true) |
virtual void | Move (int From, int To) |
void | Move (cListObject *From, cListObject *To) |
virtual void | Clear (void) |
bool | Contains (const cListObject *Object) const |
const cListObject * | Get (int Index) const |
cListObject * | Get (int Index) |
int | Count (void) const |
void | Sort (void) |
Static Public Member Functions | |
static const cRecordings * | GetRecordingsRead (cStateKey &StateKey, int TimeoutMs=0) |
static cRecordings * | GetRecordingsWrite (cStateKey &StateKey, int TimeoutMs=0) |
static const cRecordings * | GetDeletedRecordingsRead (cStateKey &StateKey, int TimeoutMs=0) |
static cRecordings * | GetDeletedRecordingsWrite (cStateKey &StateKey, int TimeoutMs=0) |
static void | Update (bool Wait=false) |
static void | TouchUpdate (void) |
static bool | NeedsUpdate (void) |
static const cRecordings * | GetRecordingsRead (cStateKey &StateKey, int TimeoutMs=0) |
static cRecordings * | GetRecordingsWrite (cStateKey &StateKey, int TimeoutMs=0) |
static const cRecordings * | GetDeletedRecordingsRead (cStateKey &StateKey, int TimeoutMs=0) |
static cRecordings * | GetDeletedRecordingsWrite (cStateKey &StateKey, int TimeoutMs=0) |
static void | Update (bool Wait=false) |
static void | TouchUpdate (void) |
static bool | NeedsUpdate (void) |
Static Private Member Functions | |
static const char * | UpdateFileName (void) |
static const char * | UpdateFileName (void) |
Static Private Attributes | |
static cRecordings | recordings |
static cRecordings | deletedRecordings |
static int | lastRecordingId = 0 |
static char * | updateFileName = NULL |
static time_t | lastUpdate = 0 |
static cVideoDirectoryScannerThread * | videoDirectoryScannerThread = NULL |
Additional Inherited Members | |
![]() | |
cListBase (const char *NeedsLocking=NULL) | |
cListBase (const char *NeedsLocking=NULL) | |
![]() | |
cListObject * | objects |
cListObject * | lastObject |
int | count |
cStateLock | stateLock |
const char * | needsLocking |
bool | useGarbageCollector |
Definition at line 228 of file include/vdr/recording.h.
cRecordings::cRecordings | ( | bool | Deleted = false | ) |
Definition at line 1510 of file recording.c.
|
virtual |
Definition at line 1515 of file recording.c.
References videoDirectoryScannerThread.
cRecordings::cRecordings | ( | bool | Deleted = false | ) |
|
virtual |
void cRecordings::Add | ( | cRecording * | Recording | ) |
Definition at line 1577 of file recording.c.
References cListBase::Add(), lastRecordingId, and cRecording::SetId().
Referenced by AddByName(), and cVideoDirectoryScannerThread::ScanVideoDir().
void cRecordings::Add | ( | cRecording * | Recording | ) |
void cRecordings::AddByName | ( | const char * | FileName, |
bool | TriggerUpdate = true |
||
) |
Definition at line 1583 of file recording.c.
References Add(), GetByName(), and TouchUpdate().
Referenced by cRecordingsHandlerEntry::Active(), and cRecordingsHandlerEntry::Cleanup().
void cRecordings::AddByName | ( | const char * | FileName, |
bool | TriggerUpdate = true |
||
) |
void cRecordings::ClearSortNames | ( | void | ) |
Definition at line 1700 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
void cRecordings::ClearSortNames | ( | void | ) |
void cRecordings::DelByName | ( | const char * | FileName | ) |
Definition at line 1592 of file recording.c.
References cListBase::Del(), DELEXT, cRecording::fileName, cRecording::FileName(), GetByName(), LOCK_DELETEDRECORDINGS_WRITE, cRecording::SetDeleted(), and TouchUpdate().
Referenced by cRecordingsHandlerEntry::Active(), cRecordingsHandlerEntry::Cleanup(), and cMenuRecordings::Delete().
void cRecordings::DelByName | ( | const char * | FileName | ) |
|
inline |
Definition at line 264 of file include/vdr/recording.h.
References GetById().
Referenced by GetById().
|
inline |
const cRecording * cRecordings::GetById | ( | int | Id | ) | const |
Definition at line 1557 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
const cRecording * cRecordings::GetById | ( | int | Id | ) | const |
|
inline |
Definition at line 266 of file include/vdr/recording.h.
References GetByName().
Referenced by GetByName().
|
inline |
const cRecording * cRecordings::GetByName | ( | const char * | FileName | ) | const |
Definition at line 1566 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
Referenced by AddByName(), cMenuRecordingEdit::ApplyChanges(), DelByName(), cMenuRecordings::Delete(), cVideoDirectoryScannerThread::ScanVideoDir(), and UpdateByName().
const cRecording * cRecordings::GetByName | ( | const char * | FileName | ) | const |
|
inlinestatic |
Gets the list of deleted recordings for read access.
See cTimers::GetTimersRead() for details.
Definition at line 246 of file include/vdr/recording.h.
References deletedRecordings, and cListBase::Lock().
|
inlinestatic |
Gets the list of deleted recordings for read access.
See cTimers::GetTimersRead() for details.
Definition at line 246 of file recording.h.
References deletedRecordings, and cListBase::Lock().
|
inlinestatic |
Gets the list of deleted recordings for write access.
See cTimers::GetTimersWrite() for details.
Definition at line 249 of file include/vdr/recording.h.
References deletedRecordings, and cListBase::Lock().
|
inlinestatic |
Gets the list of deleted recordings for write access.
See cTimers::GetTimersWrite() for details.
Definition at line 249 of file recording.h.
References deletedRecordings, and cListBase::Lock().
int cRecordings::GetNumRecordingsInPath | ( | const char * | Path | ) | const |
Returns the total number of recordings in the given Path, including all sub-folders of Path.
If Path is NULL or an empty string, the entire video directory is checked.
Definition at line 1662 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
int cRecordings::GetNumRecordingsInPath | ( | const char * | Path | ) | const |
Returns the total number of recordings in the given Path, including all sub-folders of Path.
If Path is NULL or an empty string, the entire video directory is checked.
|
inlinestatic |
Gets the list of recordings for read access.
See cTimers::GetTimersRead() for details.
Definition at line 240 of file include/vdr/recording.h.
References cListBase::Lock(), and recordings.
Referenced by cSVDRPServer::CmdPLAY(), cMenuRecording::cMenuRecording(), cMenuRecordingEdit::RefreshRecording(), cMenuRecording::RefreshRecording(), cMenuRecordings::Set(), and cMenuFolder::Set().
|
inlinestatic |
Gets the list of recordings for read access.
See cTimers::GetTimersRead() for details.
Definition at line 240 of file recording.h.
References cListBase::Lock(), and recordings.
|
inlinestatic |
Gets the list of recordings for write access.
See cTimers::GetTimersWrite() for details.
Definition at line 243 of file include/vdr/recording.h.
References cListBase::Lock(), and recordings.
Referenced by cMenuRecordingEdit::ApplyChanges(), cMenuRecordings::Delete(), and cMenuRecordings::Set().
|
inlinestatic |
Gets the list of recordings for write access.
See cTimers::GetTimersWrite() for details.
Definition at line 243 of file recording.h.
References cListBase::Lock(), and recordings.
double cRecordings::MBperMinute | ( | void | ) | const |
Returns the average data rate (in MB/min) of all recordings, or -1 if this value is unknown.
Definition at line 1631 of file recording.c.
References cList< cRecording >::First(), LIMIT_SECS_PER_MB_RADIO, and cList< cRecording >::Next().
double cRecordings::MBperMinute | ( | void | ) | const |
Returns the average data rate (in MB/min) of all recordings, or -1 if this value is unknown.
bool cRecordings::MoveRecordings | ( | const char * | OldPath, |
const char * | NewPath | ||
) |
Moves all recordings in OldPath to NewPath.
Returns true if all recordings were successfully moved. As soon as the operation fails for one recording, the whole action is aborted and false will be returned. Any recordings that have been successfully moved thus far will keep their new name. If OldPath and NewPath are on different file systems, the recordings will be moved in a background process and this function returns true if all recordings have been successfully added to the RecordingsHandler.
Definition at line 1672 of file recording.c.
References dsyslog, cList< cRecording >::First(), cList< cRecording >::Next(), cString::sprintf(), and TouchUpdate().
bool cRecordings::MoveRecordings | ( | const char * | OldPath, |
const char * | NewPath | ||
) |
Moves all recordings in OldPath to NewPath.
Returns true if all recordings were successfully moved. As soon as the operation fails for one recording, the whole action is aborted and false will be returned. Any recordings that have been successfully moved thus far will keep their new name. If OldPath and NewPath are on different file systems, the recordings will be moved in a background process and this function returns true if all recordings have been successfully added to the RecordingsHandler.
|
static |
Definition at line 1537 of file recording.c.
References LastModifiedTime(), lastUpdate, and UpdateFileName().
Referenced by main(), and TouchUpdate().
|
static |
int cRecordings::PathIsInUse | ( | const char * | Path | ) | const |
Checks whether any recording in the given Path is currently in use and therefore the whole Path shall not be tampered with.
Returns 0 (ruNone) if no recording is in use. See cRecording::IsInUse() for details about the possible non-zero return values. If several recordings in the Path are currently in use, the return value will be the combination of all individual recordings' flags. If Path is NULL or an empty string, the entire video directory is checked.
Definition at line 1652 of file recording.c.
References cList< cRecording >::First(), cList< cRecording >::Next(), and ruNone.
int cRecordings::PathIsInUse | ( | const char * | Path | ) | const |
Checks whether any recording in the given Path is currently in use and therefore the whole Path shall not be tampered with.
Returns 0 (ruNone) if no recording is in use. See cRecording::IsInUse() for details about the possible non-zero return values. If several recordings in the Path are currently in use, the return value will be the combination of all individual recordings' flags. If Path is NULL or an empty string, the entire video directory is checked.
void cRecordings::ResetResume | ( | const char * | ResumeFileName = NULL | ) |
Definition at line 1692 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
void cRecordings::ResetResume | ( | const char * | ResumeFileName = NULL | ) |
int cRecordings::TotalFileSizeMB | ( | void | ) | const |
Definition at line 1620 of file recording.c.
References cList< cRecording >::First(), and cList< cRecording >::Next().
int cRecordings::TotalFileSizeMB | ( | void | ) | const |
|
static |
Touches the '.update' file in the video directory, so that other instances of VDR that access the same video directory can be triggered to update their recordings list.
Definition at line 1529 of file recording.c.
References lastUpdate, NeedsUpdate(), TouchFile(), and UpdateFileName().
Referenced by cRemoveDeletedRecordingsThread::Action(), cRecordingsHandlerEntry::Active(), AddByName(), cMenuRecordingEdit::ApplyChanges(), DelByName(), and MoveRecordings().
|
static |
Touches the '.update' file in the video directory, so that other instances of VDR that access the same video directory can be triggered to update their recordings list.
|
static |
Triggers an update of the list of recordings, which will run as a separate thread if Wait is false.
If Wait is true, the function returns only after the update has completed.
Definition at line 1545 of file recording.c.
References cThread::Active(), deletedRecordings, lastUpdate, recordings, cCondWait::SleepMs(), cThread::Start(), and videoDirectoryScannerThread.
Referenced by AssertFreeDiskSpace(), and main().
|
static |
Triggers an update of the list of recordings, which will run as a separate thread if Wait is false.
If Wait is true, the function returns only after the update has completed.
void cRecordings::UpdateByName | ( | const char * | FileName | ) |
Definition at line 1614 of file recording.c.
References GetByName().
void cRecordings::UpdateByName | ( | const char * | FileName | ) |
|
staticprivate |
Definition at line 1522 of file recording.c.
References AddDirectory(), cVideoDirectory::Name(), and updateFileName.
Referenced by NeedsUpdate(), and TouchUpdate().
|
staticprivate |
|
staticprivate |
Definition at line 231 of file include/vdr/recording.h.
Referenced by GetDeletedRecordingsRead(), GetDeletedRecordingsWrite(), and Update().
|
staticprivate |
Definition at line 232 of file include/vdr/recording.h.
Referenced by Add().
|
staticprivate |
Definition at line 234 of file include/vdr/recording.h.
Referenced by NeedsUpdate(), TouchUpdate(), and Update().
|
staticprivate |
Definition at line 230 of file include/vdr/recording.h.
Referenced by GetRecordingsRead(), GetRecordingsWrite(), and Update().
|
staticprivate |
Definition at line 233 of file include/vdr/recording.h.
Referenced by UpdateFileName().
|
staticprivate |
Definition at line 235 of file include/vdr/recording.h.
Referenced by Update(), and ~cRecordings().