summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2018-06-13 18:16:13 +0300
committerGeorge Hazan <ghazan@miranda.im>2018-06-13 18:16:13 +0300
commit723bc42a5dfe925c655cced2c184ddfdfc144ada (patch)
tree0de1f13f2510af9761821d53039ba4684b37f218 /include
parente71725076a18bf48579275e196886dc2edb9aee1 (diff)
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;
Diffstat (limited to 'include')
-rw-r--r--include/delphi/m_api.pas1
-rw-r--r--include/delphi/m_idle.inc74
-rw-r--r--include/m_idle.h62
-rw-r--r--include/newpluginapi.h1
4 files changed, 29 insertions, 109 deletions
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}}