Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <stdio.h>
00027 #include "rfb/rfb.h"
00028 #include "filelistinfo.h"
00029
00030
00031
00032 void
00033 DisplayFileList(FileListInfo fli)
00034 {
00035 int i = 0;
00036 if((fli.pEntries == NULL) || (fli.numEntries == 0)) return;
00037
00038 rfbLog("DISPLAYING FILE NAMES IN THE LIST ...START\n\n");
00039 rfbLog("Numer of entries:: %d\n", fli.numEntries);
00040 for(i = 0; i < fli.numEntries; i++)
00041 rfbLog("file[%d]\t<%s>\n", i, fli.pEntries[i].name);
00042 rfbLog("DISPLAYING FILE NAMES IN THE LIST ...END\n\n");
00043 }
00044
00045 #ifndef __GNUC__
00046 #define __FUNCTION__ "unknown"
00047 #endif
00048
00049 int
00050 AddFileListItemInfo(FileListInfoPtr fileListInfoPtr, char* name,
00051 unsigned int size, unsigned int data)
00052 {
00053 FileListItemInfoPtr fileListItemInfoPtr = (FileListItemInfoPtr)
00054 calloc((fileListInfoPtr->numEntries + 1),
00055 sizeof(FileListItemInfo));
00056 if(fileListItemInfoPtr == NULL) {
00057 rfbLog("File [%s]: Method [%s]: fileListItemInfoPtr is NULL\n",
00058 __FILE__, __FUNCTION__);
00059 return FAILURE;
00060 }
00061
00062 if(fileListInfoPtr->numEntries != 0) {
00063 memcpy(fileListItemInfoPtr, fileListInfoPtr->pEntries,
00064 fileListInfoPtr->numEntries * sizeof(FileListItemInfo));
00065 }
00066
00067 strcpy(fileListItemInfoPtr[fileListInfoPtr->numEntries].name, name);
00068 fileListItemInfoPtr[fileListInfoPtr->numEntries].size = size;
00069 fileListItemInfoPtr[fileListInfoPtr->numEntries].data = data;
00070
00071 if(fileListInfoPtr->pEntries != NULL) {
00072 free(fileListInfoPtr->pEntries);
00073 fileListInfoPtr->pEntries = NULL;
00074 }
00075
00076 fileListInfoPtr->pEntries = fileListItemInfoPtr;
00077 fileListItemInfoPtr = NULL;
00078 fileListInfoPtr->numEntries++;
00079
00080 return SUCCESS;
00081 }
00082
00083
00084 char*
00085 GetFileNameAt(FileListInfo fileListInfo, int number)
00086 {
00087 char* name = NULL;
00088 if(number >= 0 && number < fileListInfo.numEntries)
00089 name = fileListInfo.pEntries[number].name;
00090 return name;
00091 }
00092
00093
00094 unsigned int
00095 GetFileSizeAt(FileListInfo fileListInfo, int number)
00096 {
00097 unsigned int size = 0;
00098 if(number >= 0 && number < fileListInfo.numEntries)
00099 size = fileListInfo.pEntries[number].size;
00100 return size;
00101 }
00102
00103
00104 unsigned int
00105 GetFileDataAt(FileListInfo fileListInfo, int number)
00106 {
00107 unsigned int data = 0;
00108 if(number >= 0 && number < fileListInfo.numEntries)
00109 data = fileListInfo.pEntries[number].data;
00110 return data;
00111 }
00112
00113
00114 unsigned int
00115 GetSumOfFileNamesLength(FileListInfo fileListInfo)
00116 {
00117 int i = 0, sumLen = 0;
00118 for(i = 0; i < fileListInfo.numEntries; i++)
00119 sumLen += strlen(fileListInfo.pEntries[i].name);
00120 return sumLen;
00121 }
00122
00123
00124 void
00125 FreeFileListInfo(FileListInfo fileListInfo)
00126 {
00127 if(fileListInfo.pEntries != NULL) {
00128 free(fileListInfo.pEntries);
00129 fileListInfo.pEntries = NULL;
00130 }
00131 fileListInfo.numEntries = 0;
00132 }
00133