Added more RPC functionality:

* System: Quit & shutdown.
 * Search: New Search, List Searches, Close Search, Search Results.
 * Files: TranferLists, ControlDownloads (Start, Stop, Pause, etc).

Changed the way NotifyTxt records search results. 
 * Must register searchId for results to be saved.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-gxs-b1@5528 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2012-09-09 11:48:25 +00:00
parent 277b8e66ae
commit a9f95289d0
26 changed files with 8402 additions and 337 deletions

View file

@ -84,7 +84,7 @@ Menu *CreateMenuStructure(NotifyTxt *notify)
MenuList *search = new MenuListSearch(notify);
MenuList *searchlist = new MenuListSearchList(notify);
search->addMenuItem(MENU_SEARCH_KEY_ADD, new MenuOpSearchNew());
search->addMenuItem(MENU_SEARCH_KEY_ADD, new MenuOpSearchNew(notify));
//search->addMenuItem(MENU_SEARCH_KEY_REMOVE, new MenuOpSearchDelete());
search->addMenuItem(MENU_SEARCH_KEY_VIEW, searchlist);
searchlist->addMenuItem(MENU_SEARCH_KEY_DOWNLOAD, new MenuOpSearchListDownload());
@ -362,11 +362,17 @@ int MenuListSearch::removeSearch(std::string strSearchId)
it = mSearchIds.find(strSearchId);
if (it != mSearchIds.end())
{
/* cleanup local maps */
/* cancel search */
// CAN'T DO!!!
/* clear results from Notify Collector */
mNotify->clearSearchId(it->second);
/* cleanup local maps */
mSearchIds.erase(it);
/* cleanup terms maps (TODO) */
}
return 1;
@ -392,6 +398,7 @@ uint32_t MenuOpSearchNew::process_lines(std::string input)
std::string search = input.substr(0, input.size() - 1); // remove \n.
uint32_t searchId = (uint32_t) rsTurtle->turtleSearch(search);
mNotify->collectSearchResults(searchId);
/* store request in parent */
MenuListSearch *ms = dynamic_cast<MenuListSearch *>(parent());
@ -645,7 +652,7 @@ int MenuListShared::getEntryDesc(int idx, std::string &desc)
rsFiles->getSharedDirectories(dirs);
std::list<SharedDirInfo>::iterator it;
std::string shareflag;
unsigned int i=0;
int i=0;
for (it = dirs.begin(); (i < idx) && (it != dirs.end()); it++, i++);
if (it != dirs.end())
{
@ -675,7 +682,7 @@ int MenuListShared::unshareSelected()
std::list<SharedDirInfo> dirs;
rsFiles->getSharedDirectories(dirs);
std::list<SharedDirInfo>::iterator it;
unsigned int i=0;
int i=0;
for (it = dirs.begin(); (i < mSelectIdx) && (it != dirs.end()); it++, i++);
if (it != dirs.end())
{
@ -696,7 +703,7 @@ int MenuListShared::toggleFlagSelected(uint32_t shareflags)
std::list<SharedDirInfo> dirs;
rsFiles->getSharedDirectories(dirs);
std::list<SharedDirInfo>::iterator it;
unsigned int i=0;
int i=0;
for (it = dirs.begin(); (i < mSelectIdx) && (it != dirs.end()); it++, i++);
if (it != dirs.end())
{

View file

@ -159,11 +159,13 @@ class MenuOpSearchNew: public MenuOpLineInput
{
public:
MenuOpSearchNew() :MenuOpLineInput("New") { return; }
MenuOpSearchNew(NotifyTxt *notify)
:MenuOpLineInput("New"), mNotify(notify) { return; }
virtual uint32_t process_lines(std::string input);
virtual uint32_t drawPage(uint32_t drawFlags, std::string &buffer);
private:
NotifyTxt *mNotify;
};