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.
294 lines
7.3 KiB
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 = PyInt_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 || !PyInt_Check(belem))
|
|
{
|
|
if (acpp_state)
|
|
sipReleaseType(acpp, sipType_TQString, acpp_state);
|
|
|
|
*sipIsErr = 1;
|
|
delete cppmap;
|
|
return 0;
|
|
}
|
|
|
|
bcpp = (TQVariant::Type) PyInt_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
|
|
};
|
|
|
|
|