documenting p3chatservice,

added 'idle' status to status service
 - idle status not saved 

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2790 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
chrisparker126 2010-04-27 11:53:46 +00:00
parent 40da50799e
commit f1dab2b094
3 changed files with 24 additions and 12 deletions

View File

@ -66,6 +66,11 @@ void p3Status::getStatusString(uint32_t status, std::string& statusString){
}else if (status == RS_STATUS_ONLINE){ }else if (status == RS_STATUS_ONLINE){
statusString = "Online"; statusString = "Online";
}else if(status == RS_STATUS_INACTIVE){
statusString = "Inactive";
} }
return; return;

View File

@ -65,7 +65,7 @@ class p3ChatService: public p3Service, public p3Config
int sendPrivateChat(std::wstring msg, std::string id); int sendPrivateChat(std::wstring msg, std::string id);
/*! /*!
* can be used to send status msgs, these status updates are meant for immediate use by peer at other end * can be used to send 'immediate' status msgs, these status updates are meant for immediate use by peer (not saved by rs)
* e.g currently used to update user when a peer 'is typing' during a chat * e.g currently used to update user when a peer 'is typing' during a chat
*/ */
void sendStatusString(const std::string& peer_id,const std::string& status_str) ; void sendStatusString(const std::string& peer_id,const std::string& status_str) ;
@ -77,7 +77,7 @@ class p3ChatService: public p3Service, public p3Config
void sendGroupChatStatusString(const std::string& status_str) ; void sendGroupChatStatusString(const std::string& status_str) ;
/*! /*!
* this retrieves custom status for a peers, if not generate a request for the user * this retrieves custom status for a peers, generate a requests to the peer
* @param peer_id the id of the peer you want status string for * @param peer_id the id of the peer you want status string for
*/ */
std::string getCustomStateString(const std::string& peer_id) ; std::string getCustomStateString(const std::string& peer_id) ;
@ -106,6 +106,7 @@ class p3ChatService: public p3Service, public p3Config
/*! /*!
* Gets the avatar data for clients account * Gets the avatar data for clients account
* data is in jpeg format
*/ */
void getOwnAvatarJpegData(unsigned char *& data,int& size) ; void getOwnAvatarJpegData(unsigned char *& data,int& size) ;
@ -113,6 +114,9 @@ class p3ChatService: public p3Service, public p3Config
/*! /*!
* This retrieves all chat msg items and also (important!) * This retrieves all chat msg items and also (important!)
* processes chat-status items that are in service item queue. chat msg item requests are also processed and not returned * processes chat-status items that are in service item queue. chat msg item requests are also processed and not returned
* (important! also) notifications sent to notify base on receipt avatar, immediate status and custom status
* : notifyCustomState, notifyChatStatus, notifyPeerHasNewAvatar
* @see NotifyBase
*/ */
std::list<RsChatMsgItem *> getChatQueue(); std::list<RsChatMsgItem *> getChatQueue();

View File

@ -143,6 +143,9 @@ bool p3StatusService::sendStatus(StatusInfo& statusInfo)
if(statusInfo.id != mConnMgr->getOwnId()) if(statusInfo.id != mConnMgr->getOwnId())
return false; return false;
// don't save inactive status
if(statusInfo.status != RS_STATUS_INACTIVE){
// If your id is not set, set it // If your id is not set, set it
if(mStatusInfoMap.find(statusInfo.id) == mStatusInfoMap.end()){ if(mStatusInfoMap.find(statusInfo.id) == mStatusInfoMap.end()){
@ -155,7 +158,7 @@ bool p3StatusService::sendStatus(StatusInfo& statusInfo)
IndicateConfigChanged(); IndicateConfigChanged();
mStatusInfoMap[statusInfo.id] = statusInfo; mStatusInfoMap[statusInfo.id] = statusInfo;
} }
}
mConnMgr->getOnlineList(onlineList); mConnMgr->getOnlineList(onlineList);
} }