summaryrefslogtreecommitdiff
path: root/MySpace/server_con.cpp
diff options
context:
space:
mode:
authorsje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-07-04 15:43:37 +0000
committersje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2007-07-04 15:43:37 +0000
commit60ed886ccef201a29a4f3a40fe582e97329ed8de (patch)
tree301095c00e4757940acb85c7ece66104cdcced55 /MySpace/server_con.cpp
parentc1a342fda340671550283e104b7e4d942745d9cb (diff)
added idle support
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@250 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'MySpace/server_con.cpp')
-rw-r--r--MySpace/server_con.cpp9
1 files changed, 8 insertions, 1 deletions
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;