Advancing along here.
This commit is contained in:
parent
5bd9e9ca21
commit
c3c9530b4b
34
Directory.h
34
Directory.h
@ -5,46 +5,46 @@
|
|||||||
# include "DirectoryEntry.h"
|
# include "DirectoryEntry.h"
|
||||||
|
|
||||||
namespace coreutils {
|
namespace coreutils {
|
||||||
|
|
||||||
class Directory {
|
class Directory {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Directory(std::string path) {
|
Directory(std::string path) {
|
||||||
dir = opendir(path.c_str());
|
dir = opendir(path.c_str());
|
||||||
if(dir) {
|
if(dir) {
|
||||||
struct dirent *entry = readdir(dir);
|
struct dirent *entry = readdir(dir);
|
||||||
while(entry) {
|
while(entry) {
|
||||||
directory.emplace(std::string(entry->d_name), entry);
|
directory.emplace(std::string(entry->d_name), entry);
|
||||||
entry = readdir(dir);
|
entry = readdir(dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(directory.size() > 0)
|
if(directory.size() > 0)
|
||||||
cursor = directory.begin();
|
cursor = directory.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
~Directory() {}
|
~Directory() {}
|
||||||
|
|
||||||
bool eod() {
|
bool eod() {
|
||||||
return cursor == directory.end();
|
return cursor == directory.end();
|
||||||
}
|
}
|
||||||
|
|
||||||
DirectoryEntry get() {
|
DirectoryEntry get() {
|
||||||
if(cursor == directory.end())
|
if(cursor == directory.end())
|
||||||
return NULL;
|
return NULL;
|
||||||
return cursor->second;
|
return cursor->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
void next() {
|
void next() {
|
||||||
++cursor;
|
++cursor;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DIR *dir;
|
DIR *dir;
|
||||||
std::map<std::string, DirectoryEntry> directory;
|
std::map<std::string, DirectoryEntry> directory;
|
||||||
std::map<std::string, DirectoryEntry>::iterator cursor;
|
std::map<std::string, DirectoryEntry>::iterator cursor;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -4,25 +4,25 @@
|
|||||||
# include "includes"
|
# include "includes"
|
||||||
|
|
||||||
namespace coreutils {
|
namespace coreutils {
|
||||||
|
|
||||||
class DirectoryEntry {
|
class DirectoryEntry {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DirectoryEntry(struct dirent *entry) {
|
DirectoryEntry(struct dirent *entry) {
|
||||||
memcpy(&this->entry, entry, sizeof(struct dirent));
|
memcpy(&this->entry, entry, sizeof(struct dirent));
|
||||||
}
|
}
|
||||||
|
|
||||||
~DirectoryEntry() {}
|
~DirectoryEntry() {}
|
||||||
|
|
||||||
std::string getName() {
|
std::string getName() {
|
||||||
return std::string(entry.d_name);
|
return std::string(entry.d_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct dirent entry;
|
struct dirent entry;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
2
File.cpp
2
File.cpp
@ -23,7 +23,7 @@ namespace coreutils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
File::~File() {
|
File::~File() {
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void File::setBufferSize(size_t size) {
|
void File::setBufferSize(size_t size) {
|
||||||
|
18
File.h
18
File.h
@ -5,32 +5,32 @@
|
|||||||
|
|
||||||
///
|
///
|
||||||
/// File
|
/// File
|
||||||
///
|
///
|
||||||
/// File abstraction class for accessing local file system files.
|
/// File abstraction class for accessing local file system files.
|
||||||
///
|
///
|
||||||
|
|
||||||
namespace coreutils {
|
namespace coreutils {
|
||||||
|
|
||||||
class File {
|
class File {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
File(std::string fileName, int mode = O_RDONLY, int authority = 0664);
|
File(std::string fileName, int mode = O_RDONLY, int authority = 0664);
|
||||||
~File();
|
~File();
|
||||||
void setBufferSize(size_t size);
|
void setBufferSize(size_t size);
|
||||||
void read();
|
void read();
|
||||||
void write(std::string data);
|
void write(std::string data);
|
||||||
std::string asString();
|
std::string asString();
|
||||||
|
|
||||||
char *buffer;
|
char *buffer;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
std::string fileName;
|
std::string fileName;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,6 +16,8 @@ namespace coreutils {
|
|||||||
|
|
||||||
bool IMFMessage::parse(PString &in) {
|
bool IMFMessage::parse(PString &in) {
|
||||||
|
|
||||||
|
coreutils::Log(coreutils::LOG_DEBUG_1) << "Parsing-------\n" << in.str();
|
||||||
|
|
||||||
while (!in.ifNext("\r\n")) {
|
while (!in.ifNext("\r\n")) {
|
||||||
headers.emplace_back(in);
|
headers.emplace_back(in);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user