00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _CACHE_H
00025 #define _CACHE_H
00026
00027 #include "ts.h"
00028 #include "multiplexes.h"
00029 #include "services.h"
00030 #include "pids.h"
00031
00048 int CacheInit();
00049
00054 void CacheDeInit();
00055
00061 int CacheLoad(Multiplex_t *multiplex);
00062
00066 void CacheWriteback();
00067
00072 Multiplex_t *CacheMultiplexGet(void);
00073
00081 Service_t *CacheServiceFind(char *name);
00082
00088 Service_t *CacheServiceFindId(int id);
00089
00095 Service_t *CacheServiceFindName(char *name);
00096
00105 Service_t **CacheServicesGet(int *count);
00106
00111 void CacheServicesRelease(void);
00112
00120 PIDList_t *CachePIDsGet(Service_t *service);
00121
00125 void CachePIDsRelease(void);
00126
00133 void CacheUpdateMultiplex(Multiplex_t *multiplex, int patversion, int tsid);
00134
00140 void CacheUpdateNetworkId(Multiplex_t *multiplex, int netid);
00141
00147 void CacheUpdateServicePMTPID(Service_t *service, int pmtpid);
00148
00154 void CacheUpdateServiceName(Service_t *service, char *name);
00155
00161 void CacheUpdateServiceProvider(Service_t *service, char *provider);
00162
00168 void CacheUpdateServiceDefaultAuthority(Service_t *service, char *defaultAuthority);
00169
00175 void CacheUpdateServiceSource(Service_t *service, uint16_t source);
00176
00182 void CacheUpdateServiceConditionalAccess(Service_t *service, bool ca);
00183
00189 void CacheUpdateServiceType(Service_t *service, ServiceType type);
00190
00198 void CacheUpdatePIDs(Service_t *service, int pcrpid, PIDList_t *pids, int pmtversion);
00199
00204 Service_t *CacheServiceAdd(int id);
00205
00216 bool CacheServiceSeen(Service_t *service, bool seen, bool pat);
00217
00222 void CacheServiceDelete(Service_t *service);
00223
00225 #endif