kde-playground/pykde4/sip/solid/powermanagement.sip

136 lines
3.4 KiB
Text

//
// Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2007 Jim Bublitz also apply
// Generated by twine
// This file is part of PyKDE4.
// PyKDE4 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.
// PyKDE4 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, see <http://www.gnu.org/licenses/>.
%ModuleHeaderCode
#include <powermanagement.h>
%End
namespace Solid
{
namespace PowerManagement
{
enum SleepState
{
StandbyState,
SuspendState,
HibernateState
};
bool appShouldConserveResources ();
QSet<Solid::PowerManagement::SleepState> supportedSleepStates ();
void requestSleep (Solid::PowerManagement::SleepState state, QObject* receiver, const char* member);
int beginSuppressingSleep (const QString& reason = QString());
bool stopSuppressingSleep (int cookie);
//ig class Notifier;
//ig Solid::PowerManagement::Notifier* notifier ();
int beginSuppressingScreenPowerManagement (const QString& reason = QString());
bool stopSuppressingScreenPowerManagement (int cookie);
};
// PowerManagement
};
// Solid
%ModuleHeaderCode
#include <powermanagement.h>
%End
%MappedType QSet<Solid::PowerManagement::SleepState>
{
%TypeHeaderCode
#include <qset.h>
#include <powermanagement.h>
%End
%ConvertFromTypeCode
// Create the list.
PyObject *l;
if ((l = PyList_New(sipCpp->size())) == NULL)
return NULL;
// Set the list elements.
QSet<Solid::PowerManagement::SleepState> set = *sipCpp;
int i = 0;
foreach (Solid::PowerManagement::SleepState value, set)
{
#if PY_MAJOR_VERSION >= 3
PyObject *obj = PyLong_FromLong ((long) value);
#else
PyObject *obj = PyInt_FromLong ((long) value);
#endif
if (obj == NULL || PyList_SET_ITEM (l, i, obj) < 0)
{
Py_DECREF(l);
if (obj)
Py_DECREF(obj);
return NULL;
}
Py_DECREF(obj);
i++;
}
return l;
%End
%ConvertToTypeCode
// Check the type if that is all that is required.
if (sipIsErr == NULL)
{
if (!PyList_Check(sipPy))
return 0;
}
// Check the type if that is all that is required.
if (sipIsErr == NULL)
{
if (!PyList_Check(sipPy))
return 0;
}
QSet<Solid::PowerManagement::SleepState> *qs = new QSet<Solid::PowerManagement::SleepState>;
for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i)
{
#if PY_MAJOR_VERSION >= 3
Solid::PowerManagement::SleepState t = (Solid::PowerManagement::SleepState)PyLong_AsLong (PyList_GET_ITEM (sipPy, i));
#else
Solid::PowerManagement::SleepState t = (Solid::PowerManagement::SleepState)PyInt_AS_LONG (PyList_GET_ITEM (sipPy, i));
#endif
*qs << t;
}
*sipCppPtr = qs;
return sipGetState(sipTransferObj);
%End
};