libftc
 Todos Classes Namespaces Arquivos Funções Variáveis Definições de Tipos Enumerações Valores enumerados Definições e Macros
ftc_abi_safe.h
Vá para a documentação deste arquivo.
1 #ifndef TEC_FTC_ABI_SAFE
2 #define TEC_FTC_ABI_SAFE
3 
4 #include "ftc_decl.h"
5 #include <stdio.h>
6 
12 {
13 public:
23 #if !defined(FTC_DOXYGEN)
25 #endif
26  ftc_abi_safe(const char* id, bool writable, const char* host
27  , unsigned short port, const char* accessKey);
31 #if !defined(FTC_DOXYGEN)
33 #endif
34  ~ftc_abi_safe();
35 
41 #if !defined(FTC_DOXYGEN)
43 #endif
44  void open( bool readonly ) ;
45 
46 
52 #if !defined(FTC_DOXYGEN)
54 #endif
55  bool isOpen() ;
56 
60 #if !defined(FTC_DOXYGEN)
62 #endif
63  void close() ;
64 
70 #if !defined(FTC_DOXYGEN)
72 #endif
73  void setPosition( unsigned long long position ) ;
74 
80 #if !defined(FTC_DOXYGEN)
82 #endif
83  unsigned long long getPosition() const;
84 
91 #if !defined(FTC_DOXYGEN)
93 #endif
94  void setSize( unsigned long long size );
95 
101 #if !defined(FTC_DOXYGEN)
103 #endif
104  unsigned long long getSize() const;
105 
115 #if !defined(FTC_DOXYGEN)
117 #endif
118  unsigned long long read(char* data, unsigned long long nbytes, unsigned long long position);
119 
129 #if !defined(FTC_DOXYGEN)
131 #endif
132  unsigned long long write(const char* data, unsigned long long nbytes, unsigned long long position);
133 
145 #if !defined(FTC_DOXYGEN)
147 #endif
148  unsigned long long transferTo(unsigned long long position, unsigned long long nbytes, FILE* fd, char* buffer);
149 
150  struct implementation;
151 private:
152  ftc_abi_safe (ftc_abi_safe const&);
153  ftc_abi_safe& operator=(ftc_abi_safe const&);
154 
155  implementation* impl;
156 };
157 
158 #endif
159 
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...
Definition: ftc_abi_safe.h:11
#define TEC_FTC_DECL
Definition: ftc_decl.h:17
TEC_FTC_DECL unsigned long long getPosition() const
Retorna a atual posição do cursor de leitura no arquivo.