#ifndef RSIFACE_NOTIFY_TXT_H #define RSIFACE_NOTIFY_TXT_H /* * "$Id: notifytxt.h,v 1.1 2007-02-19 20:08:30 rmf24 Exp $" * * RetroShare C++ Interface. * * Copyright 2004-2006 by Robert Fernie. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License Version 2 as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA. * * Please report all bugs and problems to "retroshare@lunamutt.com". * */ #include #include #include "util/rsthreads.h" #include class NotifyTxt: public NotifyBase { public: NotifyTxt():mNotifyMtx("NotifyMtx") { return; } virtual ~NotifyTxt() { return; } void setRsIface(RsIface *i) { iface = i; } virtual void notifyListChange(int list, int type); virtual void notifyErrorMsg(int list, int sev, std::string msg); virtual void notifyChat(); virtual bool askForPassword(const std::string& key_details, bool prev_is_bad, std::string& password); virtual bool askForPluginConfirmation(const std::string& plugin_file, const std::string& plugin_hash); virtual void notifyTurtleSearchResult(uint32_t search_id,const std::list& found_files); /* interface for handling SearchResults */ void getSearchIds(std::list &searchIds); int getSearchResultCount(uint32_t id); int getSearchResults(uint32_t id, std::list &searchResults); // only collect results for selected searches. // will drop others. int collectSearchResults(uint32_t searchId); int clearSearchId(uint32_t searchId); private: void displayNeighbours(); void displayFriends(); void displayDirectories(); void displaySearch(); void displayMessages(); void displayChannels(); void displayTransfers(); RsIface *iface; /* so we can get the data */ /* store TurtleSearchResults */ RsMutex mNotifyMtx; std::map > mSearchResults; }; #endif