2008-02-13 13:46:42 -08:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* vim: set sw=2 sts=2 et cin: */
|
2012-05-21 04:12:37 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2008-02-13 13:46:42 -08:00
|
|
|
|
|
|
|
#ifndef nsIdleServiceOS2_h__
|
|
|
|
#define nsIdleServiceOS2_h__
|
|
|
|
|
|
|
|
#include "nsIdleService.h"
|
|
|
|
#define INCL_DOSMODULEMGR
|
|
|
|
#define INCL_DOSERRORS
|
|
|
|
#include <os2.h>
|
|
|
|
|
|
|
|
class nsIdleServiceOS2 : public nsIdleService
|
|
|
|
{
|
|
|
|
public:
|
2012-06-29 01:32:21 -07:00
|
|
|
NS_DECL_ISUPPORTS_INHERITED
|
2008-02-13 13:46:42 -08:00
|
|
|
|
|
|
|
// ask the DSSaver DLL (sscore.dll) for the time of the last activity
|
2012-08-22 08:56:38 -07:00
|
|
|
bool PollIdleTime(uint32_t *aIdleTime);
|
2008-02-13 13:46:42 -08:00
|
|
|
|
2012-06-29 01:32:21 -07:00
|
|
|
static already_AddRefed<nsIdleServiceOS2> GetInstance()
|
|
|
|
{
|
|
|
|
nsIdleServiceOS2* idleService =
|
|
|
|
static_cast<nsIdleServiceOS2*>(nsIdleService::GetInstance().get());
|
|
|
|
if (!idleService) {
|
|
|
|
idleService = new nsIdleServiceOS2();
|
|
|
|
NS_ADDREF(idleService);
|
|
|
|
}
|
|
|
|
|
|
|
|
return idleService;
|
|
|
|
}
|
|
|
|
|
2008-02-13 13:46:42 -08:00
|
|
|
private:
|
|
|
|
HMODULE mHMod; // module handle for screensaver DLL
|
2011-09-28 23:19:26 -07:00
|
|
|
bool mInitialized; // fully initialized (function found in screensaver DLL?)
|
2010-04-16 10:37:16 -07:00
|
|
|
|
|
|
|
protected:
|
2012-06-29 01:32:21 -07:00
|
|
|
nsIdleServiceOS2();
|
|
|
|
~nsIdleServiceOS2();
|
2010-04-16 10:37:16 -07:00
|
|
|
bool UsePollMode();
|
2008-02-13 13:46:42 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // nsIdleServiceOS2_h__
|