From 60ed886ccef201a29a4f3a40fe582e97329ed8de Mon Sep 17 00:00:00 2001 From: sje Date: Wed, 4 Jul 2007 15:43:37 +0000 Subject: added idle support git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@250 4f64403b-2f21-0410-a795-97e2b3489a10 --- MySpace/server_con.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'MySpace/server_con.cpp') diff --git a/MySpace/server_con.cpp b/MySpace/server_con.cpp index 47624ba..03321da 100644 --- a/MySpace/server_con.cpp +++ b/MySpace/server_con.cpp @@ -58,6 +58,7 @@ int stat_mir_to_myspace(int mir_status) { case ID_STATUS_INVISIBLE: return 0; case ID_STATUS_AWAY: return 5; case ID_STATUS_ONLINE: return 1; + case ID_STATUS_IDLE: return 2; } return 0; } @@ -66,6 +67,7 @@ int stat_myspace_to_mir(int myspace_status) { switch(myspace_status) { case 0: return ID_STATUS_OFFLINE; case 1: return ID_STATUS_ONLINE; + case 2: return ID_STATUS_IDLE; case 5: return ID_STATUS_AWAY; } return 0; @@ -253,7 +255,12 @@ void try_login(NetMessage &msg, HANDLE connection) { } void ParseStatusMessage(HANDLE hContact, char *smsg) { - DBWriteContactSettingWord(hContact, MODULE, "Status", stat_myspace_to_mir(smsg[3] - '0')); + int stat = stat_myspace_to_mir(smsg[3] - '0'); + if(stat == ID_STATUS_IDLE) { + DBWriteContactSettingWord(hContact, MODULE, "IdleTS", (DWORD)time(0)); + } else { + DBWriteContactSettingWord(hContact, MODULE, "Status", stat); + } smsg += 8; char *end = strstr(smsg, "|"); if(end) *end = 0; -- cgit v1.2.3