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/kio/ksycocaentry.sip

209 lines
5.4 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 kio 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 KSycocaEntry : KShared
{
%TypeHeaderCode
#include <ksycocaentry.h>
%End
public:
virtual bool isType (KSycocaType) const;
virtual KSycocaType sycocaType () const;
public:
//ig typedef KSharedPtr<KSycocaEntry> Ptr;
//ig typedef QValueList<KSycocaEntry::Ptr> List;
public:
KSycocaEntry (const QString&);
%If ( KDE_3_1_0 - )
static void read (QDataStream&, QString&);
static void read (QDataStream&, QStringList&);
%End
KSycocaEntry (QDataStream&, int);
virtual QString name () const = 0;
QString entryPath () const;
virtual bool isValid () const = 0;
virtual bool isDeleted () const;
int offset ();
virtual void save (QDataStream&);
virtual void load (QDataStream&) = 0;
protected:
protected:
//igx virtual void virtual_hook (int, void*);
}; // class KSycocaEntry
%MappedType KSycocaEntry::Ptr
//converts KSycocaEntry
{
%TypeHeaderCode
#include <ksharedptr.h>
#include <ksycocaentry.h>
%End
%ConvertFromTypeCode
// Convert to a Python instance
if (!sipCpp)
return NULL;
KSharedPtr<KSycocaEntry> *cPtr = new KSharedPtr<KSycocaEntry> (*(KSharedPtr<KSycocaEntry> *)sipCpp);
KSycocaEntry *cpp = cPtr->data ();
PyObject *obj = sipConvertFromInstance (cpp, sipClass_KSycocaEntry, sipTransferObj);
return obj;
%End
%ConvertToTypeCode
// Convert a Python instance to a Ptr on the heap.
if (sipIsErr == NULL)
return sipCanConvertToType(sipPy, sipType_KSycocaEntry, SIP_NO_CONVERTORS);
int iserr = 0;
KSycocaEntry *cpp = (KSycocaEntry *)sipConvertToType(sipPy, sipType_KSycocaEntry, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);
if (iserr)
{
*sipIsErr = 1;
return 0;
}
*sipCppPtr = new KSharedPtr<KSycocaEntry> (cpp);
return 1;
%End
};
%MappedType KSycocaEntry::List
//converts a Python list of KSycocaEntry
{
%TypeHeaderCode
#include <ksharedptr.h>
#include <kservice.h>
#include <kservicegroup.h>
#include <ksycocaentry.h>
#include <ksycocatype.h>
#include <qvaluelist.h>
%End
%ConvertFromTypeCode
// Convert to a Python list of Ptr (KService).
if (!sipCpp)
return PyList_New (0);
PyObject *plist;
// Create the list
if ((plist = PyList_New(0)) == NULL)
return NULL;
// Get it.
KSycocaEntry::List *cList = (KSycocaEntry::List *)sipCpp;
PyObject *inst;
KSharedPtr<KSycocaEntry> *svc;
KSharedPtr <KService> *svcType;
KSharedPtr <KServiceGroup> *svcGroupType;
KSycocaEntry::List::Iterator it;
for( it = cList->begin(); it != cList->end(); ++it )
{
KSharedPtr<KSycocaEntry> svcptr = static_cast<KSycocaEntry::Ptr>(*it);
svc = &svcptr;
if (svc->data ()->sycocaType () == KST_KService)
{
svcType = (KSharedPtr<KService> *)svc;
inst = sipConvertFromType(svcType, sipType_KService_Ptr, sipTransferObj);
}
else if (svc->data ()->sycocaType () == KST_KServiceGroup)
{
svcGroupType = (KSharedPtr <KServiceGroup> *) svc;
inst = sipConvertFromType(svcGroupType, sipType_KServiceGroup_Ptr, sipTransferObj);
}
else
inst = NULL;
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);
KSycocaEntry::List *cList = new KSycocaEntry::List;
PyObject *elem;
KSycocaEntry *service;
int iserr = 0;
for (int i = 0; i < PyList_Size (sipPy); i++)
{
elem = PyList_GET_ITEM (sipPy, i);
service = (KSycocaEntry *)sipForceConvertToType(elem, sipType_KSycocaEntry, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);
if (iserr)
{
*sipIsErr = 1;
delete cList;
return 0;
}
KSycocaEntry::Ptr ptr(service);
cList->append (ptr);
}
*sipCppPtr = cList;
return 1;
%End
};