ftc/include/ftc/FileChannel.h

00001 // -*- coding: iso-8859-1-unix -*-
00002 #ifndef FILECHANNEL_V1_04_01_H_
00003 #define FILECHANNEL_V1_04_01_H_
00004 
00005 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00006 # pragma once
00007 #endif
00008 
00009 #include "ftc/IDataChannel.h"
00010 
00011 #include <string>
00012 #include <boost/shared_ptr.hpp>
00013 
00014 namespace tecgraf { namespace ftc { namespace v1_04_01 {
00015 
00021   class FileChannel : public IDataChannel
00022   {
00023   public:
00029     FileChannel(const std::string& filename, bool read_only);
00030 
00034     virtual ~FileChannel();
00035 
00037     virtual uint16_t supportedOperations() const;
00038 
00040     virtual bool isOpen() const;
00042     virtual int64_t remaining() const;
00044     virtual uint64_t skip(const uint64_t count);
00045 
00047     virtual int64_t read(Buffer& dest);
00049     virtual int64_t read(Buffer& dest, const uint64_t remotePosition);
00050 
00052     virtual int64_t write(Buffer& source);
00054     virtual int64_t write(Buffer& source, const uint64_t remotePosition);
00055 
00057     virtual uint64_t size() const;
00059     virtual void size(const uint64_t size);
00060 
00062     virtual uint64_t position() const;
00064     virtual void position(const uint64_t position);
00065 
00067     virtual int64_t transferTo(const uint64_t remotePosition, const uint64_t nbytes, IDataChannel& dest);
00069     virtual int64_t transferFrom(IDataChannel& source, const uint64_t remotePosition, const uint64_t nbytes);
00070   private:
00071     class impl;
00072     boost::shared_ptr<impl> impl_ptr;
00073   };
00074 
00075 }}}
00076 
00077 #endif
00078 

Gerado em Mon Feb 3 03:15:08 2014 para FTC[C++] por  doxygen 1.4.7