summaryrefslogtreecommitdiff
path: root/plugins/AutoShutdown/m_shutdown.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/AutoShutdown/m_shutdown.h')
-rw-r--r--plugins/AutoShutdown/m_shutdown.h196
1 files changed, 196 insertions, 0 deletions
diff --git a/plugins/AutoShutdown/m_shutdown.h b/plugins/AutoShutdown/m_shutdown.h
new file mode 100644
index 0000000000..87e25e8851
--- /dev/null
+++ b/plugins/AutoShutdown/m_shutdown.h
@@ -0,0 +1,196 @@
+/*
+
+'AutoShutdown'-Plugin for
+Miranda IM: the free IM client for Microsoft* Windows*
+
+Copyright (C) 2004-2007 H. Herkenrath
+
+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 (Shutdown-License.txt); if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+#ifndef M_SHUTDOWN_H__
+#define M_SHUTDOWN_H__
+
+#if defined (_MSC_VER) && (_MSC_VER >= 1020)
+ #pragma once
+#endif
+
+/*
+ AutoShutdown v1.4.0.2
+*/
+
+/* interface id */
+#if !defined(MIID_SHUTDOWN)
+ #define MIID_SHUTDOWN {0x142982a8,0x88cf,0x4c65,{0x87,0x21,0x6d,0xe2,0x7d,0x5c,0xe7,0xb5}}
+#endif
+
+/******************************************************************/
+/************************* SERVICES *******************************/
+/******************************************************************/
+
+/* Show settings dialog v1.3.0.0+
+Shows the dialog by which the shutdown watcher can be started.
+If the dialog is already opened this brings it to foreground.
+ wParam=lParam=0
+Returns 0 on success, nonzero otherwise.
+*/
+#define MS_AUTOSHUTDOWN_SHOWSETTINGSDIALOG "AutoShutdown/ShowSettingsDialog"
+
+/* Initiate shutdown process v1.3.0.0+
+Initiates the shutdown process for a given shutdown type.
+If another shutdown process is already pending it will return error.
+Associated events: ME_AUTOSHUTDOWN_OKTOSHUTDOWN, ME_AUTOSHUTDOWN_SHUTDOWN
+ wParam=shutdownType
+ lParam=(LPARAM)(BOOL)fShowConfirmDlg (whether to show the warning dialog or not)
+Returns 0 on success, nonzero otherwise.
+*/
+#define MS_AUTOSHUTDOWN_SHUTDOWN "AutoShutdown/Shutdown"
+
+/* shutdown types */
+#define SDSDT_CLOSEMIRANDA 1 // close miranda process
+#define SDSDT_SETMIRANDAOFFLINE 2 // set all protocols to offline
+#define SDSDT_LOGOFF 3 // logoff from Windows
+#define SDSDT_REBOOT 4 // reboot computer
+#define SDSDT_SHUTDOWN 5 // shutdown Windows and power off
+#define SDSDT_STANDBY 6 // standby mode
+#define SDSDT_HIBERNATE 7 // hibernate mode
+#define SDSDT_LOCKWORKSTATION 8 // lock the workstation
+#define SDSDT_CLOSERASCONNECTIONS 9 // close all dialup connections
+#define SDSDT_MAX 9
+
+/* Get shutdown type description v1.4.0.0+
+Gets a textual description of the given shutdown type.
+ wParam=shutdownType
+ lParam=flags (see GSTDF_* below)
+Returns a static buffer of the description of the given shutdown type.
+It does not need to be freed in any way.
+The returned text is already translated.
+Returns a pointer to a string on success, NULL on error.
+*/
+#define MS_AUTOSHUTDOWN_GETTYPEDESCRIPTION "AutoShutdown/GetTypeDescription"
+
+#define GSTDF_LONGDESC 0x0001 // returns a long description
+#define GSTDF_UNICODE 0x0002 // returns a Unicode string
+#define GSTDF_UNTRANSLATED 0x0004 // returns an untranslated string
+#if defined(_UNICODE)
+ #define GSTDF_TCHAR GSTDF_UNICODE // will return WCHAR*
+#else
+ #define GSTDF_TCHAR 0 // will return char*, as usual
+#endif
+
+/* Check if shutdown type is enabled v1.4.0.0+
+Tests if a specific shutdown type is activated and its use is possible
+on the system. For example hibernate and stand-by modes are not available on
+older versions of Windows (needs Windows ME/2000+).
+Shutdown might also be prohibited by security restrictions.
+This services checks it all.
+However, there is no need to call this before calling MS_AUTOSHUTDOWN_SHUTDOWN.
+MS_AUTOSHUTDOWN_SHUTDOWN will fail if the given shutdown type is not enabled.
+ wParam=shutdownType
+ lParam=0
+Returns TRUE if the given shutdown type is enabled, FALSE otherwise.
+*/
+#define MS_AUTOSHUTDOWN_ISTYPEENABLED "AutoShutdown/IsTypeEnabled"
+
+/* Start shutdown watcher v1.4.0.0+
+Starts the watcher using the last settings specified on the dialog
+shown by MS_AUTOSHUTDOWN_SHOWSETTINGSDIALOG.
+Call MS_AUTOSHUTDOWN_SHOWSETTINGSDIALOG instead to offer
+options about what watcher to use.
+Associated event: ME_AUTOSHUTDOWN_WATCHERCHANGED
+ wParam=lParam=0
+Returns 0 on success, nonzero otherwise.
+*/
+#define MS_AUTOSHUTDOWN_STARTWATCHER "AutoShutdown/StartWatcher"
+
+/* Stop shutdown watcher v1.4.0.0+
+Stops the currently running watcher.
+If the watcher is not running, it returns error.
+Associated event: ME_AUTOSHUTDOWN_WATCHERCHANGED
+ wParam=lParam=0
+Returns 0 on success, nonzero otherwise.
+*/
+#define MS_AUTOSHUTDOWN_STOPWATCHER "AutoShutdown/StopWatcher"
+
+/* Check if watcher is running v1.4.0.0+
+Checks if the watcher is currently active or not.
+ wParam=lParam=0
+Returns TRUE if the watcher is enabled, FALSE otherwise.
+*/
+#define MS_AUTOSHUTDOWN_ISWATCHERENABLED "AutoShutdown/IsWatcherEnabled"
+
+/******************************************************************/
+/************************** EVENTS ********************************/
+/******************************************************************/
+
+/* Disallow shutdown process (event) v1.3.0.0+
+Gets fired when MS_AUTOSHUTDOWN_SHUTDOWN is called.
+Parmeters are the same as specified at the call to MS_AUTOSHUTDOWN_SHUTDOWN.
+ wParam=shutdownType
+ lParam=(LPARAM)(BOOL)fShowConfirmDlg
+Return 0 to allow shutdown, 1 to disallow.
+*/
+#define ME_AUTOSHUTDOWN_OKTOSHUTDOWN "AutoShutdown/OkToShutdown"
+
+/* Shutdown process started (event) v1.3.0.1+
+Gets fired when ME_AUTOSHUTDOWN_OKTOSHUTDOWN was confirmed.
+Parmeters are the same as specified at the call
+to MS_AUTOSHUTDOWN_SHUTDOWN.
+ wParam=shutdownType
+ lParam=(LPARAM)(BOOL)fShowConfirmDlg
+Unused, return always 0 here.
+*/
+#define ME_AUTOSHUTDOWN_SHUTDOWN "AutoShutdown/ShutdownEvent"
+
+/* Watcher changed (event) v1.3.0.0+
+Fired when MS_AUTOSHUTDOWN_STARTWATCHER or MS_AUTOSHUTDOWN_STOPWATCHER
+is called.
+ wParam=(WPARAM)(BOOL)fIsStarted (whether whe watcher is running now)
+ lParam=0
+Unused, return always 0 here.
+*/
+#define ME_AUTOSHUTDOWN_WATCHERCHANGED "AutoShutdown/Watcher/Changed"
+
+
+#ifndef SHUTDOWN_NOSETTINGS
+#define SETTING_REMEMBERONRESTART_DEFAULT 0 // SDROR_RUNNING
+#define SETTING_SHOWCONFIRMDLG_DEFAULT 1
+#define SETTING_CONFIRMDLGCOUNTDOWN_DEFAULT 30 // seconds
+#define SETTING_WEATHERSHUTDOWN_DEFAULT 0
+#define SETTING_HDDOVERHEATSHUTDOWN_DEFAULT 1
+#define SETTING_SMARTOFFLINECHECK_DEFAULT 1
+
+#define SETTING_SHUTDOWNTYPE_DEFAULT SDSDT_SHUTDOWN
+#define SETTING_WATCHERFLAGS_DEFAULT (SDWTF_SPECIFICTIME|SDWTF_ST_COUNTDOWN)
+#define SETTING_COUNTDOWN_DEFAULT 30
+#define SETTING_COUNTDOWNUNIT_DEFAULT 60 // x times countdown seconds
+#define SETTING_TIMESTAMP_DEFAULT (DWORD)(time(NULL)+(SETTING_COUNTDOWN_DEFAULT*SETTING_COUNTDOWNUNIT_DEFAULT))
+#define SETTING_CPUUSAGETHRESHOLD_DEFAULT 90 // percent
+
+#define SDWTF_SPECIFICTIME 0x0001
+#define SDWTF_ST_TIME 0x0002
+#define SDWTF_ST_COUNTDOWN 0x0004
+#define SDWTF_ST_MASK 0x0006 /* bitmask for SDWTF_ST_* bits */
+#define SDWTF_MESSAGE 0x0008
+#define SDWTF_FILETRANSFER 0x0010
+#define SDWTF_IDLE 0x0020
+#define SDWTF_STATUS 0x0040
+#define SDWTF_CPUUSAGE 0x0080
+#define SDWTF_MASK 0x00FF /* bitmask for all SDWTF_* bits */
+
+#define SDROR_RUNNING 3
+#endif
+
+#endif // M_SHUTDOWN_H