FireBirdLib - Topfield TMS PVR TAP Programming Library
LogoManager_Initialize.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#include "libFireBird.h"
5#include "FBLib_LogoManager.h"
6
10
11void (*LogoManager_CB)(int CallbackType, int Param1) = NULL;
12
13void LogoManager_Initialize(void *CallbackRoutine)
14{
15 TRACEENTER();
16
17 char cmd[255];
18 TYPE_FolderEntry FolderEntry;
19 int NrFiles, i;
20
21 LogoManager_CB = CallbackRoutine;
22
25 if(!TAP_Hdd_Exist(DIR_SETTINGS)) TAP_Hdd_Create(DIR_SETTINGS, ATTR_FOLDER);
26 if(!TAP_Hdd_Exist(DIR_LOGOS)) HDD_ChangeDir(DIR_SETTINGS);
27 if(!TAP_Hdd_Exist(DIR_LOGOS)) TAP_Hdd_Create(DIR_LOGOS, ATTR_FOLDER);
29
30 if(!LogoManager_LUTInitialized || !TAP_Hdd_Exist(LOGOCACHE))
31 {
33
34 //Check if there's a packed logo file, unpack and erase the tar
35 if(TAP_Hdd_Exist(LOGOPACK))
36 {
38 TAP_SPrint(cmd, "cd %s%s; %s/ProgramFiles/busybox tar xf %s", TAPFSROOT, LOGOROOT, TAPFSROOT, LOGOPACK);
39 system(cmd);
40 TAP_Hdd_Delete(LOGOPACK);
41 TAP_Hdd_Delete(LOGOCACHE);
42 }
43
44 if(!TAP_Hdd_Exist(LILNAME))
46
47 //Check if there are lil updates
48 NrFiles = TAP_Hdd_FindFirst(&FolderEntry, "add");
49 for(i = 0; i < NrFiles; i++)
50 {
51 if(FolderEntry.attr == ATTR_NORMAL)
52 {
54 LogoManager_ProcessLILAdd(FolderEntry.name);
55 TAP_Hdd_Delete(FolderEntry.name);
56 TAP_Hdd_Delete(LOGOCACHE);
57 }
58
59 TAP_Hdd_FindNext(&FolderEntry);
60 }
61
62 //Check if the cache file already exists
65 }
66
68
69 TRACEEXIT();
70}
bool HDD_ChangeDir(const char *Dir)
Definition: HDD_ChangeDir.c:5
bool LogoManager_LUTInitialized
tLogoData * LogoManager_LogoData
void(* LogoManager_CB)(int CallbackType, int Param1)
void LogoManager_Initialize(void *CallbackRoutine)
int LogoManager_NrLogos
#define LOGOROOT
Definition: libFireBird.h:2217
#define LOGOCACHE
Definition: libFireBird.h:2219
void LogoManager_MoveExternalUpdates(void)
#define LOGOPACK
Definition: libFireBird.h:2218
bool HDD_TAP_PushDir(void)
#define TRACEEXIT()
Definition: libFireBird.h:1244
bool LogoManager_LogoCacheLoad(void)
#define DIR_LOGOS
Definition: libFireBird.h:2216
#define DIR_SETTINGS
Definition: libFireBird.h:63
void LogoManager_ProcessLILAdd(char *AddFileName)
#define LILNAME
Definition: libFireBird.h:2222
#define TRACEENTER()
Definition: libFireBird.h:1243
bool HDD_TAP_PopDir(void)
Definition: HDD_TAP_PopDir.c:3
int LogoManager_UpdateLIL(void)
#define DIR_PROGRAMFILES
Definition: libFireBird.h:62
#define TAPFSROOT
Definition: libFireBird.h:1870