diff options
Diffstat (limited to 'plugins/ExternalAPI/m_shutdown.h')
| -rw-r--r-- | plugins/ExternalAPI/m_shutdown.h | 196 | 
1 files changed, 196 insertions, 0 deletions
diff --git a/plugins/ExternalAPI/m_shutdown.h b/plugins/ExternalAPI/m_shutdown.h new file mode 100644 index 0000000000..87e25e8851 --- /dev/null +++ b/plugins/ExternalAPI/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
  | 
