From 723bc42a5dfe925c655cced2c184ddfdfc144ada Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 13 Jun 2018 18:16:13 +0300 Subject: System idle: - plugin StdIdle that had been acting as an options dialog for StdAutoAway removed; - service MS_IDLE_GETIDLEINFO moved into the core and replaced with Idle_GetInfo(); - new function Idle_Enter() is available to tell the core that Miranda is idle; - StdAutoAway & StatusManager adapted for these changes; --- include/delphi/m_api.pas | 1 - include/delphi/m_idle.inc | 74 ----------------------------------------------- include/m_idle.h | 62 +++++++++++++++++++-------------------- include/newpluginapi.h | 1 - 4 files changed, 29 insertions(+), 109 deletions(-) delete mode 100644 include/delphi/m_idle.inc (limited to 'include') diff --git a/include/delphi/m_api.pas b/include/delphi/m_api.pas index 59985b792f..2b41c77520 100644 --- a/include/delphi/m_api.pas +++ b/include/delphi/m_api.pas @@ -221,7 +221,6 @@ var {$include m_icolib.inc} {$include m_iconheader.inc} {$include m_icq.inc} - {$include m_idle.inc} {$include m_ignore.inc} {$include m_imgsrvc.inc} {$include m_json.inc} diff --git a/include/delphi/m_idle.inc b/include/delphi/m_idle.inc deleted file mode 100644 index c8d3203028..0000000000 --- a/include/delphi/m_idle.inc +++ /dev/null @@ -1,74 +0,0 @@ -{ - Miranda IM: the free IM client for Microsoft Windows - - Copyright 2000-2005 Miranda ICQ/IM project, - all portions of this codebase are copyrighted to the people - listed in contributors.txt. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -} - -{$IFNDEF M_IDLE} -{$DEFINE M_IDLE} - - { The idle module checks how long the user has been idle, it can be at the Miranda level - or the OS level - the user has optional two settings, one for "short" idle and another - for "long" idle. Thie module will generate long/short events based on these user preferences - and other information too. If you are unsure which idle mode to report for, report it - for short idle. } -const - IDF_ISIDLE = $1; // idle has become active (if not set, inactive) - IDF_PRIVACY = $8; // if set, the information provided shouldn't be given to third parties. - -const -{ - wParam: 0 - lParam: IDF_ (or'd field) - Affect: This event is fired when information about idle changes. - Note: You will get multiple calls with IDF_ISIDLE set, the first is for short idle - then long idle, then anytime during you might get IDF_ONFORCE if the screensaver - or station become locked. - - It is up to you to keep state, i.e. once the idle that you care about is reported - ignore other status notifications with IDF_ISIDLE set until you get one with - IDF_ISIDLE isn't set. - Version: 0.3.4a+ (2004/09/16) -} - ME_IDLE_CHANGED:PAnsiChar = 'Miranda/Idle/Changed'; - -type - PMIRANDA_IDLE_INFO = ^TMIRANDA_IDLE_INFO; - TMIRANDA_IDLE_INFO = record - cbSize : int; // sizeof() - idleTime : int; // idle in mins, if zero then disabled - privacy : int; // user doesnt want other people seeing anything more than they are idle - aaStatus : int; // status to go to when user is auto away - aaLock : int; // the status shouldn't be unset if its set - idleType : int; - idlesoundsoff: int; - end; - -{ - wParam; 0 - lParam: address of MIRANDA_IDLE_INFO - Affect: Return information about current idle settings, like short/long idle time in mins - and if the user wants that info kept private, etc - Returns: zero on success, non zero on failure - Version: 0.3.4 (2004/09/16) -} -const - MS_IDLE_GETIDLEINFO:PAnsiChar = 'Miranda/Idle/GetInfo'; - -{$ENDIF} diff --git a/include/m_idle.h b/include/m_idle.h index 74fcb54c46..53c0c281c0 100644 --- a/include/m_idle.h +++ b/include/m_idle.h @@ -25,39 +25,40 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef M_IDLE_H__ #define M_IDLE_H__ 1 -/* The idle module checks how long the user has been idle, it can be at the Miranda level -or the OS level - the user has optional two settings, one for "short" idle and another -for "long" idle. Thie module will generate long/short events based on these user preferences -and other information too. If you are unsure which idle mode to report for, report it -for short idle.*/ - -/* - wParam: 0 - lParam: IDF_* (or'd field) - Affect: This event is fired when information about idle changes. - Note: You will get multiple calls with IDF_ISIDLE set, the first is for short idle - then long idle, then anytime during you might get IDF_ONFORCE if the screensaver or station - become locked. - - It is up to you to keep state, i.e. once the idle that you care about is reported - ignore other status notifications with IDF_ISIDLE set until you get one with IDF_ISIDLE isn't - set. - Version: 0.3.4a+ (2004/09/16) -*/ +// The idle module checks how long the user has been idle, it can be at the Miranda level +// or the OS level - the user has optional two settings, one for "short" idle and another +// for "long" idle. Thie module will generate long/short events based on these user preferences +// and other information too. If you are unsure which idle mode to report for, report it +// for short idle. + +///////////////////////////////////////////////////////////////////////////////////////// +// Idle_Enter() - enters (if type >= 0) or leaves (if type == -1) the idle mode +// Each plugin that implements MIID_AUTOAWAY can set its own idle types + +EXTERN_C MIR_APP_DLL(void) Idle_Enter(int type = -1); + +///////////////////////////////////////////////////////////////////////////////////////// +// ME_IDLE_CHANGED - called when the idle mode is changed +// wParam: 0 +// lParam: IDF_* (or'd field) +// +// Affect: This event is fired when information about idle changes. +// Note: You will get multiple calls with IDF_ISIDLE set, the first is for short idle +// then long idle, then anytime during you might get IDF_ONFORCE if the screensaver or station +// become locked. + +// It is up to you to keep state, i.e. once the idle that you care about is reported +// ignore other status notifications with IDF_ISIDLE set until you get one with IDF_ISIDLE isn't +// set. #define IDF_ISIDLE 0x1 // idle has become active (if not set, inactive) #define IDF_PRIVACY 0x8 // if set, the information provided shouldn't be given to third parties. #define ME_IDLE_CHANGED "Miranda/Idle/Changed" -/* - wParam; 0 - lParam: &MIRANDA_IDLE_INFO - Affect: Return information about current idle settings, like short/long idle time in mins - and if the user wants that info kept private, etc - Returns: zero on success, non zero on failure - Version: 0.3.4 (2004/09/16) -*/ +///////////////////////////////////////////////////////////////////////////////////////// +// Returns information about current idle settings, like short/long idle time in mins +// and if the user wants that info kept private, etc struct MIRANDA_IDLE_INFO { @@ -69,11 +70,6 @@ struct MIRANDA_IDLE_INFO int idlesoundsoff; }; -#define MS_IDLE_GETIDLEINFO "Miranda/Idle/GetInfo" - -__forceinline int Idle_GetInfo(MIRANDA_IDLE_INFO &pInfo) -{ - return CallService(MS_IDLE_GETIDLEINFO, 0, (LPARAM)&pInfo); -} +EXTERN_C MIR_APP_DLL(void) Idle_GetInfo(MIRANDA_IDLE_INFO &pInfo); #endif // M_IDLE_H__ diff --git a/include/newpluginapi.h b/include/newpluginapi.h index 709b099ace..e858c37b6d 100644 --- a/include/newpluginapi.h +++ b/include/newpluginapi.h @@ -74,7 +74,6 @@ MIR_APP_DLL(int) SetServiceModePlugin(const wchar_t *wszPluginName); #define MIID_UIHISTORY {0x7f7e3d98, 0xce1f, 0x4962, {0x82, 0x84, 0x96, 0x85, 0x50, 0xf1, 0xd3, 0xd9}} #define MIID_AUTOAWAY {0x9c87f7dc, 0x3bd7, 0x4983, {0xb7, 0xfb, 0xb8, 0x48, 0xfd, 0xbc, 0x91, 0xf0}} #define MIID_USERONLINE {0x130829e0, 0x2463, 0x4ff8, {0xbb, 0xc8, 0xce, 0x73, 0xc0, 0x18, 0x84, 0x42}} -#define MIID_IDLE {0x296f9f3b, 0x5b6f, 0x40e5, {0x8f, 0xb0, 0xa6, 0x49, 0x6c, 0x18, 0xbf, 0x0a}} #define MIID_CRYPTO {0x415ca6e1, 0x895f, 0x40e6, {0x87, 0xbd, 0x9b, 0x39, 0x60, 0x16, 0xd0, 0xe5}} #define MIID_SSL {0x3bbbbd20, 0x20e6, 0x479b, {0xbd, 0x4b, 0xe8, 0x4d, 0xe2, 0x62, 0x71, 0x20}} -- cgit v1.2.3