diff options
author | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-07-04 15:43:37 +0000 |
---|---|---|
committer | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-07-04 15:43:37 +0000 |
commit | 60ed886ccef201a29a4f3a40fe582e97329ed8de (patch) | |
tree | 301095c00e4757940acb85c7ece66104cdcced55 /MySpace/server_con.cpp | |
parent | c1a342fda340671550283e104b7e4d942745d9cb (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.cpp | 9 |
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;
|