our current experimental Neutrino branch

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@27 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
mrcolor
2009-12-08 11:05:11 +00:00
commit bc5bd4154e
876 changed files with 193775 additions and 0 deletions

58
src/system/lastchannel.h Normal file
View File

@@ -0,0 +1,58 @@
/*
DBoX2 -- Projekt
(c) 2001 rasc
Lizenz: GPL
Lastchannel History buffer
Einfache Klasse fuer schnelles Zappen zum letzten Kanal.
Ggf. laesst sich damit ein kleines ChannelHistory-Menue aufbauen-
Das ganze ist als sich selbst ueberschreibender Ringpuffer realisiert,
welcher nach dem LIFO-prinzip wieder ausgelesen wird.
Es wird aber gecheckt, ob ein Neuer Wert ein Mindestzeitabstand zum alten
vorherigen Wert hat, damit bei schnellem Hochzappen, die "Skipped Channels"
nicht gespeichert werden.
*/
#ifndef SEEN_LastChannel
#define SEEN_LastChannel
#include <zapit/client/zapitclient.h>
#include <list>
class CLastChannel
{
private:
struct _LastCh
{
int channel;
unsigned long timestamp;
t_channel_id channel_id;
};
std::list<_LastCh> lastChannels;
unsigned long secs_diff_before_store;
unsigned int maxSize;
bool shallRemoveEqualChannel;
public:
CLastChannel (void);
void clear (void);
void store (int channelnr, t_channel_id channel_id, bool forceStoreToLastChannels = false);
t_channel_id getlast (int n);
unsigned int size () const;
void clear_storedelay (void);
void set_store_difftime (int secs);
int get_store_difftime (void) const;
};
#endif