diff options
Diffstat (limited to 'sip/tdeio/kacl.sip')
-rw-r--r-- | sip/tdeio/kacl.sip | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/sip/tdeio/kacl.sip b/sip/tdeio/kacl.sip new file mode 100644 index 0000000..2156e3b --- /dev/null +++ b/sip/tdeio/kacl.sip @@ -0,0 +1,168 @@ +// +// 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. + + +%If ( KDE_3_5_0 - ) + +class KACL +{ +%TypeHeaderCode +#include <kacl.h> +%End + + +public: + KACL (const TQString&); + KACL (const KACL&); + KACL (mode_t); + KACL (); + bool operator == (const KACL&) const; + bool operator != (const KACL&) const; + bool isValid () const; + ushort ownerPermissions () const; + bool setOwnerPermissions (ushort); + ushort owningGroupPermissions () const; + bool setOwningGroupPermissions (ushort); + ushort othersPermissions () const; + bool setOthersPermissions (ushort); + mode_t basePermissions () const; + bool isExtended () const; + ushort maskPermissions (bool&) const; + bool setMaskPermissions (ushort); + ushort namedUserPermissions (const TQString&, bool*) const; + bool setNamedUserPermissions (const TQString&, ushort); + ACLUserPermissionsList allUserPermissions () const; + bool setAllUserPermissions (const ACLUserPermissionsList&); + ushort namedGroupPermissions (const TQString&, bool*) const; + bool setNamedGroupPermissions (const TQString&, ushort); + ACLGroupPermissionsList allGroupPermissions () const; + bool setAllGroupPermissions (const ACLGroupPermissionsList&); + bool setACL (const TQString&); + TQString asString () const; + +protected: + virtual void virtual_hook (int, void*); + +}; // class KACL + +%End + + +%If ( KDE_3_5_0 - ) +typedef TQPair<TQString,unsigned short> ACLUserPermissions; +typedef TQValueList<ACLUserPermissions> ACLUserPermissionsList; +//igx typedef TQValueListIterator<ACLUserPermissions> ACLUserPermissionsIterator; +//igx typedef TQValueListConstIterator<ACLUserPermissions> ACLUserPermissionsConstIterator; +//igx typedef TQPair<TQString,unsigned short> ACLGroupPermissions; +//igx typedef TQValueList<ACLGroupPermissions> ACLGroupPermissionsList; +//igx typedef TQValueListIterator<ACLGroupPermissions> ACLGroupPermissionsIterator; +//igx typedef TQValueListConstIterator<ACLGroupPermissions> ACLGroupPermissionsConstIterator; +//igx TQDataStream& operator << (TQDataStream&, const KACL&); +//igx TQDataStream& operator >> (TQDataStream&, KACL&); +//force +typedef ACLUserPermissionsList ACLGroupPermissionsList; +//end +%End + + +%MappedType TQValueList<ACLUserPermissions> +//converts a Python list of ACLUserPermissions tuples (TQString, int) +{ +%TypeHeaderCode +#include <tqvaluelist.h> +#include <tqstring.h> +#include <kacl.h> +%End + +%ConvertFromTypeCode + if (!sipCpp) + return PyList_New(0); + + // Create the list + PyObject *pylist; + if ((pylist = PyList_New(0)) == NULL) + return NULL; + + TQValueList<ACLUserPermissions> *cpplist = (TQValueList<ACLUserPermissions> *)sipCpp; + PyObject *inst; + + // Get it. + TQValueList<ACLUserPermissions>::Iterator it; + for( it = cpplist->begin(); it != cpplist->end(); ++it ) + { + TQString s = (*it).first; + ushort u = (*it).second; + PyObject *pys = sipConvertFromNewType(new TQString(s), sipType_TQString, sipTransferObj); + if ((pys == NULL) || ((inst = Py_BuildValue ("Ni", pys, u)) == NULL) + || PyList_Append (pylist, inst) < 0) + { + Py_XDECREF (inst); + Py_XDECREF (pys); + Py_DECREF (pylist); + return NULL; + } + } + + return pylist; +%End + + +%ConvertToTypeCode + if (sipIsErr == NULL) + return PyList_Check(sipPy); + + TQValueList<ACLUserPermissions> *cpplist = new TQValueList<ACLUserPermissions>; + + TQString *p1; + int iserr = 0; + + for (int i = 0; i < PyList_Size (sipPy); i++) + { + int p1_state; + + PyObject *elem = PyList_GET_ITEM (sipPy, i); + PyObject *pyp1 = PyTuple_GET_ITEM (elem, 0); + p1 = (TQString *)sipForceConvertToType(pyp1, sipType_TQString, sipTransferObj, SIP_NOT_NONE, &p1_state, &iserr); + + if (iserr) + { + *sipIsErr = 1; + delete cpplist; + return 0; + } + ushort p2 = (ushort)(PyInt_AS_LONG (PyTuple_GET_ITEM (elem, 1))); + + cpplist->append (ACLUserPermissions (*p1, p2)); + + sipReleaseType(p1, sipType_TQString, p1_state); + } + + *sipCppPtr = cpplist; + + return 1; +%End +}; + + |