git-svn-id: svn://db.shs.com.ru/pip@231 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-08-19 12:51:03 +00:00
parent 6d7a7d3eb1
commit 4ceabcd22d
10 changed files with 147 additions and 79 deletions

View File

@@ -42,6 +42,7 @@ public:
void showMainList() {showTile(list_daemons, "Select daemon");}
void showActionList() {showTile(list_actions, "Select action");}
void showLocalFilemanager() {mode = 3; showTile(tile_fm, "File manager");}
PIStringList availableDaemons();
void connectToDaemon(const PIString & dn);
@@ -57,7 +58,9 @@ public:
bool lockedMBcasts() const {return mc_mutex.isLocked();}
bool lockedSends() const {return send_mutex.isLocked();}
bool lockedMCSends() const {return send_mc_mutex.isLocked();}
FileManager fm;
private:
enum PacketType {
RequestHostInfo = 10,
@@ -76,7 +79,7 @@ private:
class Remote: public PIThread {
PIOBJECT_SUBCLASS(Remote, PIThread)
public:
Remote(const PIString & n = PIString());
explicit Remote(const PIString & n = PIString());
~Remote();
void sendFiles(const PIString & dir, const PIStringList & fl) {startAction(Daemon::CopyFiles, dir, fl);}
void removeFiles(const PIStringList & fl) {startAction(Daemon::RemoveFiles, PIString(), fl);}
@@ -86,12 +89,12 @@ private:
EVENT_HANDLER1(void, ftReceived, bool, ok) {receiveFinished(name(), ok);}
EVENT_HANDLER1(void, ftSended, bool, ok) {sendFinished(name(), ok);}
EVENT2(sendRequest, const PIString & , name, const PIByteArray &, data)
EVENT2(receiveFinished, const PIString & , name, bool, ok)
EVENT2(sendFinished, const PIString & , name, bool, ok)
EVENT2(removeFinished, const PIString & , name, const PIString & , dir)
EVENT2(changeDirFinished, const PIString & , name, const PIString & , dir)
EVENT_HANDLER1(void, received, const PIByteArray & , data) {ft.received(data);}
EVENT2(sendRequest, const PIString &, p_name, const PIByteArray &, data)
EVENT2(receiveFinished, const PIString & , p_name, bool, ok)
EVENT2(sendFinished, const PIString & , p_name, bool, ok)
EVENT2(removeFinished, const PIString & , p_name, const PIString & , dir)
EVENT2(changeDirFinished, const PIString & , p_name, const PIString & , dir)
EVENT_HANDLER1(void, received, PIByteArray & , data) {ft.received(data);}
void startAction(PacketType a, const PIString & dir, const PIStringList & fl);
void run();
@@ -127,20 +130,21 @@ private:
EVENT_HANDLER2(void, tileEvent, PIScreenTile *, t, PIScreenTypes::TileEvent, e);
EVENT_HANDLER1(void, keyEvent, PIKbdListener::KeyEvent, key);
EVENT_HANDLER2(void, sendRequest, const PIString & , name, const PIByteArray & , data) {send(name, data);}
EVENT_HANDLER2(void, sendRequest, const PIString &, p_name, const PIByteArray &, data) {send(p_name, data);}
EVENT_HANDLER1(void, fmKeyEvent, PIKbdListener::KeyEvent, key);
EVENT_HANDLER3(void, fmActionRequest, bool, remote_tile, FileManager::Action, type, PIVariant, data);
EVENT_HANDLER2(void, timerEvent, void * , _d, int, delim);
EVENT_HANDLER2(void, filesReceived, const PIString & , name, bool, ok);
EVENT_HANDLER2(void, filesRemoved, const PIString & , name, const PIString & , dir);
EVENT_HANDLER2(void, dirChanged, const PIString & , name, const PIString & , dir);
EVENT_HANDLER2(void, closeFileDialog, const PIString & , name, bool, ok);
EVENT_HANDLER2(void, filesReceived, const PIString & , p_name, bool, ok);
EVENT_HANDLER2(void, filesRemoved, const PIString & , p_name, const PIString & , dir);
EVENT_HANDLER2(void, dirChanged, const PIString & , p_name, const PIString & , dir);
EVENT_HANDLER2(void, closeFileDialog, const PIString & , p_name, bool, ok);
EVENT_HANDLER2(void, localSend, const PIString & , p_name, const PIByteArray &, data);
EVENT(menuRequest)
void hideAll();
void showTile(PIScreenTile * t, const PIString & header = PIString());
void fillInfoTile(const HostInfo & hi);
void peerConnected(const PIString & name);
void peerDisconnected(const PIString & name);
void peerConnected(const PIString & p_name);
void peerDisconnected(const PIString & p_name);
void dataReceived(const PIString & from, const PIByteArray & data);
void makeMyHostInfo();
void makeOtherHostInfo();
@@ -156,14 +160,14 @@ private:
PIMap<PIString, Remote*> remotes;
PISystemMonitor sys_mon_other;
HostInfo info_my, info_other;
FileManager fm;
PIScreenTile * tile_root, * tile_fm;
TileSimple * tile_info, * tile_header;
TileList * list_daemons, * list_actions;
TileFileProgress * tile_file_progress;
PIFileTransfer localft;
Remote * _self;
int mode, offset, cur, height;
bool inited__;
};
inline PIByteArray & operator <<(PIByteArray & b, const Daemon::HostInfo & v) {