}
m_numEntries = 0;
}
+
+unsigned int
+FileInfo::getFilenamesSize()
+{
+ if (getNumEntries() == 0) return 0;
+
+ unsigned int filenamesSize = 0;
+
+ for (unsigned int i = 0; i < getNumEntries(); i++) {
+ filenamesSize += strlen(getNameAt(i));
+ }
+
+ return filenamesSize;
+}
+
+char *
+FileInfo::getAllFilenames(unsigned int *pFilenameSize)
+{
+ unsigned int filenameSize = getFilenamesSize() + getNumEntries();
+
+ char *pFilenames = new char[filenameSize];
+ unsigned int pos = 0;
+
+ for (unsigned int i = 0; i < getNumEntries(); i++) {
+ char *pName = getNameAt(i);
+ unsigned int len = strlen(pName);
+
+ memcpy((void *)&pFilenames[pos], pName, len + 1);
+ pos += len + 2;
+ }
+
+ *pFilenameSize = filenameSize;
+ return pFilenames;
+}
bool deleteAt(unsigned int number);
unsigned int getNumEntries();
+
+ unsigned int getFilenamesSize();
+ char *getAllFilenames(unsigned int *pFilenameSize);
void sort();
void free();
private:
FILEINFO *m_pEntries;
unsigned int m_numEntries;
+
};
}