diff options
| author | George Hazan <george.hazan@gmail.com> | 2025-04-14 17:52:39 +0300 | 
|---|---|---|
| committer | George Hazan <george.hazan@gmail.com> | 2025-04-14 17:52:39 +0300 | 
| commit | 4d1681dbd44a551bc40b920ec558e7dfbabf6110 (patch) | |
| tree | aa0a0bbf476293ece32678d9521058ef917e56b5 /protocols/Teams | |
| parent | 34569ef81b0182e390d4533425d162193f06e069 (diff) | |
Teams: more statuses from documentation
Diffstat (limited to 'protocols/Teams')
| -rw-r--r-- | protocols/Teams/src/teams_endpoint.cpp | 25 | ||||
| -rw-r--r-- | protocols/Teams/src/teams_utils.cpp | 13 | ||||
| -rw-r--r-- | protocols/Teams/src/teams_utils.h | 1 | 
3 files changed, 23 insertions, 16 deletions
| diff --git a/protocols/Teams/src/teams_endpoint.cpp b/protocols/Teams/src/teams_endpoint.cpp index 1b19cf4de5..5bf46cfbb8 100644 --- a/protocols/Teams/src/teams_endpoint.cpp +++ b/protocols/Teams/src/teams_endpoint.cpp @@ -184,9 +184,30 @@ void CTeamsProto::SetServerStatus(int iStatus)  {  	auto *pReq = new AsyncHttpRequest(REQUEST_PUT, HOST_PRESENCE, "/me/endpoints", &CTeamsProto::OnStatusChanged); +	const char *pszAvailability, *pszActivity; +	switch (iStatus) { +	case ID_STATUS_OFFLINE: +		pszAvailability = pszActivity = "Offline"; +		break; +	case ID_STATUS_NA: +	case ID_STATUS_AWAY: +		pszAvailability = pszActivity = "Away"; +		break; +	case ID_STATUS_DND: +		pszAvailability = "DoNotDisturb"; +		pszActivity = "Presenting"; +		break; +	case ID_STATUS_OCCUPIED: +		pszAvailability = "Busy"; +		pszActivity = "InACall"; +		break; +	default: +		pszAvailability = pszActivity = "Available"; +	} +  	JSONNode node(JSON_NODE); -	node << CHAR_PARAM("id", m_szEndpoint) << CHAR_PARAM("availability", MirandaToSkypeStatus(iStatus)) -		<< CHAR_PARAM("activity", "Available") << CHAR_PARAM("activityReporting", "Transport") << CHAR_PARAM("deviceType", "Desktop"); +	node << CHAR_PARAM("id", m_szEndpoint) << CHAR_PARAM("availability", pszAvailability) +		<< CHAR_PARAM("activity", pszActivity) << CHAR_PARAM("activityReporting", "Transport") << CHAR_PARAM("deviceType", "Desktop");  	pReq->m_szParam = node.write().c_str();  	PushRequest(pReq); diff --git a/protocols/Teams/src/teams_utils.cpp b/protocols/Teams/src/teams_utils.cpp index af6fc87219..c409419054 100644 --- a/protocols/Teams/src/teams_utils.cpp +++ b/protocols/Teams/src/teams_utils.cpp @@ -593,19 +593,6 @@ uint32_t Utf16toUtf32(const wchar_t *str)  ////////////////////////////////////////////////////////////////////////////////////////// -const char* MirandaToSkypeStatus(int status) -{ -	switch (status) { -	case ID_STATUS_OFFLINE:    return "Offline"; -	case ID_STATUS_AWAY:       return "Away"; -	case ID_STATUS_NA:         return "BeRightBack"; -	case ID_STATUS_DND:        return "DoNotDisturb"; -	case ID_STATUS_OCCUPIED:   return "Busy"; -	case ID_STATUS_IDLE:       return "AvailableIdle"; -	} -	return "Available"; -} -  int SkypeToMirandaStatus(const char *status)  {  	if (!mir_strcmpi(status, "Available")) diff --git a/protocols/Teams/src/teams_utils.h b/protocols/Teams/src/teams_utils.h index dc79d1e2b5..1fe980ef06 100644 --- a/protocols/Teams/src/teams_utils.h +++ b/protocols/Teams/src/teams_utils.h @@ -27,7 +27,6 @@ const wchar_t* GetSkypeNick(const wchar_t *szSkypeId);  CMStringA ParseUrl(const char *url, const char *token);  int SkypeToMirandaStatus(const char *status); -const char *MirandaToSkypeStatus(int status);  bool AddBbcodes(CMStringA &str); | 
