1 #ifndef TEC_FTC_ABI_SAFE
2 #define TEC_FTC_ABI_SAFE
23 #if !defined(FTC_DOXYGEN)
26 ftc_abi_safe(
const char*
id,
bool writable,
const char* host
27 ,
unsigned short port,
const char* accessKey);
31 #if !defined(FTC_DOXYGEN)
41 #if !defined(FTC_DOXYGEN)
44 void open(
bool readonly ) ;
52 #if !defined(FTC_DOXYGEN)
60 #if !defined(FTC_DOXYGEN)
70 #if !defined(FTC_DOXYGEN)
80 #if !defined(FTC_DOXYGEN)
91 #if !defined(FTC_DOXYGEN)
94 void setSize(
unsigned long long size );
101 #if !defined(FTC_DOXYGEN)
104 unsigned long long getSize()
const;
115 #if !defined(FTC_DOXYGEN)
118 unsigned long long read(
char* data,
unsigned long long nbytes,
unsigned long long position);
129 #if !defined(FTC_DOXYGEN)
132 unsigned long long write(
const char* data,
unsigned long long nbytes,
unsigned long long position);
145 #if !defined(FTC_DOXYGEN)
148 unsigned long long transferTo(
unsigned long long position,
unsigned long long nbytes, FILE* fd,
char* buffer);
150 struct implementation;
153 ftc_abi_safe& operator=(ftc_abi_safe
const&);
155 implementation* impl;
TEC_FTC_DECL bool isOpen()
Indica se o arquivo está aberto.
TEC_FTC_DECL unsigned long long read(char *data, unsigned long long nbytes, unsigned long long position)
Le uma quantidade de bytes a partir de uma dada posição.
TEC_FTC_DECL void close()
Fecha o arquivo.
TEC_FTC_DECL unsigned long long write(const char *data, unsigned long long nbytes, unsigned long long position)
Escreve uma quantidade de bytes no arquivo.
TEC_FTC_DECL unsigned long long transferTo(unsigned long long position, unsigned long long nbytes, FILE *fd, char *buffer)
Transfere os dados do arquivo remoto diretamente para um arquivo local.
TEC_FTC_DECL void setSize(unsigned long long size)
Define o tamanho do arquivo. Pode ser usado para alocar um espaço ou truncar o arquivo.
TEC_FTC_DECL void open(bool readonly)
Abre o arquivo remoto.
TEC_FTC_DECL void setPosition(unsigned long long position)
Posiciona o cursor de leitura no arquivo.
TEC_FTC_DECL ftc_abi_safe(const char *id, bool writable, const char *host, unsigned short port, const char *accessKey)
Construtor.
TEC_FTC_DECL ~ftc_abi_safe()
Destrutor.
TEC_FTC_DECL unsigned long long getSize() const
Retorna o tamanho atual do arquivo.
Classe que representa a API de acesso a um arquivo remoto que utiliza pImpl para estabilidade de ABI...
TEC_FTC_DECL unsigned long long getPosition() const
Retorna a atual posição do cursor de leitura no arquivo.