LFS --> LfsClient

来源:互联网 发布:橙光文字游戏制作软件 编辑:程序博客网 时间:2024/06/06 03:44
#ifndef LFS_CLIENT_H
#define  LFS_CLIENT_H
#include "CommonDefine.h"
namespace lfs {
class LfsClientLocalImp;
class LfsClient
{
public:
LfsClient();
~LfsClient();
int Initialize(const char* nsAddr = NULL);
int Close(const int fd);
int Open(const char* fileName, const int flags);
int Write(const int fd, const void* data, int64_t count);
int Read(const int fd, void* buf, const int64_t count);
int Unlink(const char* fileName);
int Fstat(const int fd, common::FileInfo& buf);
int64_t SaveFile(char* fileName, const char* localFile, const int32_t flag, const char* nsAddr = NULL);
int FetchFile(const char* localFile, const char* fileName, const char* nsAddr = NULL);
private:
LfsClientLocalImp * m_imp;
};
} // Namespace lfs
#endif



#include "LfsClient.h"

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <assert.h>
#include  "Log.h"
#include "LfsClientLocalImp.h"
namespace lfs{
LfsClient::LfsClient ():m_imp(new  LfsClientLocalImp)
{
} 
LfsClient::~LfsClient ()
{
delete m_imp;
} 
int LfsClient::Initialize(const char* nsAddr)
{
LOG_INFO("Initialized");
// Global Namespace Init --> Maybe read from Config file
assert(m_imp != NULL);
return m_imp->Initialize(nsAddr);
}
int LfsClient::Close(const int fd)
{
assert(m_imp != NULL);
return m_imp->Close(fd);
}
int LfsClient::Open(const char* fileName, const int flags)
{
assert(m_imp != NULL);
return m_imp->Open(fileName, flags);
}
int LfsClient::Write(const int fd, const void* data, int64_t count)
{
assert(m_imp != NULL);
return m_imp->Write(fd, data, count);
}
int LfsClient::Read(const int fd, void* buf, const int64_t count)
{
assert(m_imp != NULL);
return m_imp->Read(fd, buf, count);
}
int LfsClient::Unlink(const char* fileName)
{
assert(m_imp != NULL);
return m_imp->Unlink(fileName);
}
int LfsClient::Fstat(const int fd, common::FileInfo& buf)
{
assert(m_imp != NULL);
return m_imp->Fstat(fd, buf);
}
int64_t LfsClient::SaveFile(char* fileName, const char* localFile, const int32_t flag, const char* nsAddr)
{
assert(m_imp != NULL);
return m_imp->SaveFile(fileName, localFile, flag, nsAddr);
}
int LfsClient::FetchFile(const char* localFile, const char* fileName, const char* nsAddr)
{
assert(m_imp != NULL);
return m_imp->FetchFile(localFile, fileName, nsAddr);
}
}/* end namespace lfs */