You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytde/sip/tdeio/kservicetype.sip

294 lines
7.3 KiB

//
// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
// may also apply
// Generated by preSip
// module tdeio version KDE 3.5.3
// This software 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 software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class KServiceType : KSycocaEntry
{
%TypeHeaderCode
#include <kservicetype.h>
%End
public:
typedef TQValueList<KServiceType::Ptr> List;
public:
KServiceType (const TQString&, const TQString&, const TQString&, const TQString&);
KServiceType (const TQString&);
KServiceType (KDesktopFile*);
KServiceType (TQDataStream&, int);
TQString icon () const;
TQString comment () const;
TQString name () const;
TQString desktopEntryPath () const;
bool isDerived () const;
TQString parentServiceType () const;
%If ( KDE_3_1_0 - )
bool inherits (const TQString&) const;
%End
virtual TQVariant property (const TQString&) const;
virtual TQStringList propertyNames () const;
bool isValid () const;
virtual TQVariant::Type propertyDef (const TQString&) const;
virtual TQStringList propertyDefNames () const;
virtual const TQMap<TQString,TQVariant::Type>& propertyDefs () const;
virtual void save (TQDataStream&);
virtual void load (TQDataStream&);
%If ( KDE_3_2_0 - )
KServiceType::Ptr parentType ();
void addService (KService::Ptr);
KService::List services ();
%End
static KServiceType::Ptr serviceType (const TQString&);
static KService::List offers (const TQString&);
static KServiceType::List allServiceTypes ();
protected:
void init (KDesktopFile*);
protected:
protected:
//igx virtual void virtual_hook (int, void*);
}; // class KServiceType
%MappedType KServiceType::Ptr
//converts KServiceType
{
%TypeHeaderCode
#include <ksharedptr.h>
#include <kservicetype.h>
%End
%ConvertFromTypeCode
// Convert to a Python instance
if (!sipCpp)
return NULL;
KServiceType::Ptr *cPtr = new KServiceType::Ptr (*(KServiceType::Ptr *)sipCpp);
KServiceType *cpp = cPtr->data ();
PyObject *obj = sipConvertFromInstance (cpp, sipClass_KServiceType, sipTransferObj);
return obj;
%End
%ConvertToTypeCode
// Convert a Python instance to a Ptr on the heap.
if (sipIsErr == NULL)
return sipCanConvertToType(sipPy, sipType_KServiceType, SIP_NO_CONVERTORS);
int iserr = 0;
KServiceType *cpp = (KServiceType *)sipConvertToType(sipPy, sipType_KServiceType, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);
if (iserr)
{
*sipIsErr = 1;
return 0;
}
*sipCppPtr = new KServiceType::Ptr (cpp);
return 1;
%End
};
%MappedType TQMap<TQString,TQVariant::Type>
//converts a Python dict of TQString:TQVariant
{
%TypeHeaderCode
#include <tqmap.h>
#include <tqvariant.h>
%End
%ConvertFromTypeCode
// Convert to a Python dict
if (!sipCpp)
return PyDict_New();
PyObject *dict;
// Create the dictionary.
if ((dict = PyDict_New()) == NULL)
return NULL;
// Get it.
const TQMap<TQString,TQVariant::Type> cppmap = *sipCpp;
TQMap<TQString,TQVariant::Type>::ConstIterator it;
for (it = cppmap.begin (); it != cppmap.end (); ++it)
{
TQString acpp = it.key ();
int bcpp = (int) it.data ();
PyObject *ainst;
PyObject *binst = PyLong_FromLong (bcpp);
if (((ainst = sipConvertFromNewType(new TQString (acpp), sipType_TQString, sipTransferObj)) == NULL)
|| (PyDict_SetItem (dict, ainst, binst) < 0))
{
Py_XDECREF (ainst);
Py_XDECREF (binst);
Py_DECREF (dict);
return NULL;
}
}
return dict;
%End
%ConvertToTypeCode
// Convert a Python dictionary to a TQMap on the heap.
if (sipIsErr == NULL)
return PyDict_Check(sipPy);
TQMap<TQString,TQVariant::Type> *cppmap = new TQMap<TQString,TQVariant::Type>;
PyObject *aelem, *belem;
SIP_SSIZE_T pos = 0;
TQString *acpp;
TQVariant::Type bcpp;
while (PyDict_Next(sipPy, &pos, &aelem, &belem))
{
int iserr = 0, acpp_state;
acpp = (TQString *)sipForceConvertToType(aelem, sipType_TQString, sipTransferObj, SIP_NOT_NONE, &acpp_state, &iserr);
if (iserr || !PyLong_Check(belem))
{
if (acpp_state)
sipReleaseType(acpp, sipType_TQString, acpp_state);
*sipIsErr = 1;
delete cppmap;
return 0;
}
bcpp = (TQVariant::Type) PyLong_AS_LONG(belem);
cppmap->insert (*acpp, bcpp);
sipReleaseType(acpp, sipType_TQString, acpp_state);
}
*sipCppPtr = cppmap;
return 1;
%End
};
%MappedType TQValueList<KServiceType::Ptr>
//converts a Python list of KServiceType
{
%TypeHeaderCode
#include <kservicetype.h>
%End
%ConvertFromTypeCode
// Convert to a Python list of Ptr (KServiceType).
if (!sipCpp)
return PyList_New (0);
PyObject *plist;
// Create the list
if ((plist = PyList_New(0)) == NULL)
return NULL;
// Get it.
TQValueList<KServiceType::Ptr> *cList = (TQValueList<KServiceType::Ptr> *)sipCpp;
PyObject *inst;
TDESharedPtr <KServiceType> *svc;
TQValueList<KServiceType::Ptr>::Iterator it;
for( it = cList->begin(); it != cList->end(); ++it )
{
TDESharedPtr <KServiceType> svcptr = static_cast<KServiceType::Ptr>(*it);
svc = &svcptr;
inst = sipConvertFromType(svc, sipType_KServiceType_Ptr, sipTransferObj);
if ((inst == NULL) || (PyList_Append (plist, inst) < 0))
{
Py_XDECREF (inst);
Py_DECREF (plist);
return NULL;
}
}
return plist;
%End
%ConvertToTypeCode
// Convert a Python list to List on the heap.
if (sipIsErr == NULL)
return PyList_Check(sipPy);
TQValueList<KServiceType::Ptr> *cList = new TQValueList<KServiceType::Ptr>;
PyObject *elem;
KServiceType *service;
int iserr = 0;
for (int i = 0; i < PyList_Size (sipPy); i++)
{
elem = PyList_GET_ITEM (sipPy, i);
service = (KServiceType *)sipForceConvertToType(elem, sipType_KServiceType, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);
if (iserr)
{
*sipIsErr = 1;
delete cList;
return 0;
}
KServiceType::Ptr ptr(service);
cList->append (ptr);
}
*sipCppPtr = cList;
return 1;
%End
};