From 611bcf8557708a4393db837f51d4531ac68eb167 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Thu, 27 Jan 2005 10:44:19 +0000 Subject: [PATCH] Added idl file for the System Event Notifcation Services API (SENSAPI). --- include/.cvsignore | 1 + include/Makefile.in | 1 + include/sensevts.idl | 112 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 include/sensevts.idl diff --git a/include/.cvsignore b/include/.cvsignore index aca0479b074..cb44926b601 100644 --- a/include/.cvsignore +++ b/include/.cvsignore @@ -21,6 +21,7 @@ oleidl.h propidl.h pstore.h richole.h +sensevts.h servprov.h shldisp.h shobjidl.h diff --git a/include/Makefile.in b/include/Makefile.in index 9d45e4dcf10..44612e29efc 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -26,6 +26,7 @@ IDL_SRCS = \ propidl.idl \ pstore.idl \ richole.idl \ + sensevts.idl \ servprov.idl \ shldisp.idl \ shobjidl.idl \ diff --git a/include/sensevts.idl b/include/sensevts.idl new file mode 100644 index 00000000000..573020eb84f --- /dev/null +++ b/include/sensevts.idl @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2005 Mike McCormack + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +import "oaidl.idl"; + +typedef struct SENS_QOCINFO +{ + DWORD dwSize; + DWORD dwFlags; + DWORD dwOutSpeed; + DWORD dwInSpeed; +} SENS_QOCINFO, *LPSENS_QOCINFO; + +[ + object, + pointer_default(unique) +] +interface ISensNetwork : IDispatch +{ + HRESULT ConnectionMade( + [in] BSTR bstrConnection, + [in] ULONG ulType, + [in] LPSENS_QOCINFO lpQOCInfo ); + HRESULT ConnectionMadeNoQOCInfo( + [in] BSTR bstrConnection, + [in] ULONG ulType ); + HRESULT ConnectionLost( + [in] BSTR bstrConnection, + [in] ULONG ulType ); + HRESULT DestinationReachable( + [in] BSTR bstrDestination, + [in] BSTR bstrConnection, + [in] ULONG ulType, + [in] LPSENS_QOCINFO lpQOCInfo ); + HRESULT DestinationReachableNoQOCInfo( + [in] BSTR bstrDestination, + [in] BSTR bstrConnection, + [in] ULONG ulType ); +} + +[ + object, + pointer_default(unique) +] +interface ISensOnNow : IDispatch +{ + HRESULT OnAcPower( void ); + HRESULT OnBatteryPower( + [in] DWORD dwBatteryLifePercent ); + HRESULT BatteryLow( + [in] DWORD dwBatteryLifePercent ); +} + +[ + object, + pointer_default(unique) +] +interface ISensLogon : IDispatch +{ + HRESULT Logon( + [in] BSTR bstrUserName ); + HRESULT Logoff( + [in] BSTR bstrUserName ); + HRESULT StartShell( + [in] BSTR bstrUserName ); + HRESULT DisplayLock( + [in] BSTR bstrUserName ); + HRESULT DisplayUnlock( + [in] BSTR bstrUserName ); + HRESULT StartScreenSaver( + [in] BSTR bstrUserName ); + HRESULT StopScreenSaver( + [in] BSTR bstrUserName ); +} + +[ + object, + pointer_default(unique) +] +interface ISensLogon2 : IDispatch +{ + HRESULT Logon( + [in] BSTR bstrUserName, + [in] DWORD dwSessionId ); + HRESULT Logoff( + [in] BSTR bstrUserName, + [in] DWORD dwSessionId ); + HRESULT SessionDisconnect( + [in] BSTR bstrUserName, + [in] DWORD dwSessionId ); + HRESULT SessionReconnect( + [in] BSTR bstrUserName, + [in] DWORD dwSessionId ); + HRESULT PostShell( + [in] BSTR bstrUserName, + [in] DWORD dwSessionId ); +}