1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#ifndef COMPMGR_H
#define COMPMGR_H
#include <string.h>
extern "C" {
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
}
class ComponentFileMgr
{
public:
ComponentFileMgr(const string & base = ".") {
m_base = base + "/";
m_per = 2000;
m_dir = m_base + "RawComps.";
}
string GetFileName(int index, const string & suffix, bool checkForDirectory = true) {
int i = index / m_per;
char tmp[1024];
sprintf(tmp, "%s%d", m_dir.c_str(), i);
if(checkForDirectory)
{
mkdir(tmp,0777);
}
string out = tmp;
sprintf(tmp, "/comp%d", index);
out += tmp;
out += suffix;
return out;
}
private:
string m_base;
string m_dir;
int m_per;
};
#endif
|