00001
00002 #ifndef MDFSTCPClientBaseH
00003 #define MDFSTCPClientBaseH
00004
00005 #include <string>
00006
00007 namespace mdfs {
00008
00009 class MDistributedFS;
00010 class MServer;
00011
00012
00013
00014
00015
00016 class MDFSTCPClientBase {
00017 friend class MServer;
00018 public:
00019 MDFSTCPClientBase(MServer* s, MDistributedFS* dfs) : DFS(dfs), Server(s) {};
00020 virtual ~MDFSTCPClientBase() {};
00021
00022 virtual bool IsConnected() = 0;
00023 virtual bool Connect(int timeout) = 0;
00024
00026 virtual bool Read() = 0;
00027
00030 virtual void Send(const std::string& msg) = 0;
00031
00032 protected:
00033
00034 MDistributedFS* DFS;
00035 MServer* Server;
00036
00037 private:
00038
00039
00040 };
00041
00042
00043
00044
00045 }
00046
00047 #endif