// // Copyright 2008 Jim Bublitz // 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 . typedef QPair ACLUserPermissions; //ig typedef QList ACLUserPermissionsList; //ig typedef QList::iterator ACLUserPermissionsIterator; //ig typedef QList::const_iterator ACLUserPermissionsConstIterator; typedef QPair ACLGroupPermissions; //ig typedef QList ACLGroupPermissionsList; //ig typedef QList::iterator ACLGroupPermissionsIterator; //ig typedef QList::const_iterator ACLGroupPermissionsConstIterator; %ModuleHeaderCode #include %End class KACL { %TypeHeaderCode #include %End public: KACL (const QString& aclString); KACL (const KACL& rhs); KACL (mode_t basicPermissions); KACL (); bool operator == (const KACL& rhs) const; bool operator != (const KACL& rhs) const; bool isValid () const; unsigned short ownerPermissions () const; bool setOwnerPermissions (unsigned short); unsigned short owningGroupPermissions () const; bool setOwningGroupPermissions (unsigned short); unsigned short othersPermissions () const; bool setOthersPermissions (unsigned short); mode_t basePermissions () const; bool isExtended () const; unsigned short maskPermissions (bool& exists /Out/) const; bool setMaskPermissions (unsigned short); unsigned short namedUserPermissions (const QString& name, bool* exists /Out/) const; bool setNamedUserPermissions (const QString& name, unsigned short); ACLUserPermissionsList allUserPermissions () const; bool setAllUserPermissions (const ACLUserPermissionsList& list); unsigned short namedGroupPermissions (const QString& name, bool* exists /Out/) const; bool setNamedGroupPermissions (const QString& name, unsigned short); ACLGroupPermissionsList allGroupPermissions () const; bool setAllGroupPermissions (const ACLGroupPermissionsList&); bool setACL (const QString& aclStr); QString asString () const; protected: public: ~KACL (); }; // KACL //force //ig typedef QList> ACLUserPermissionsList; //ig typedef QList> ACLGroupPermissionsList; typedef ACLUserPermissionsList ACLGroupPermissionsList; %MappedType ACLUserPermissionsList { %TypeHeaderCode #include %End %ConvertFromTypeCode if (!sipCpp) return PyList_New(0); // Create the list PyObject *pylist; if ((pylist = PyList_New(0)) == NULL) return NULL; QList > *cpplist = (QList > *)sipCpp; PyObject *inst = NULL; // Get it. QList >::Iterator it; for( it = cpplist->begin(); it != cpplist->end(); ++it ) { QString s = (*it).first; ushort u = (*it).second; PyObject *pys = sipBuildResult (NULL, "N", new QString (s), sipType_QString); 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); QList > *cpplist = new QList >; QString p1; int iserr = 0; for (int i = 0; i < PyList_Size (sipPy); i++) { PyObject *elem = PyList_GET_ITEM (sipPy, i); PyObject *pyp1 = PyTuple_GET_ITEM (elem, 0); p1 = *(QString *)sipForceConvertToType(pyp1, sipType_QString, NULL, 0, NULL, &iserr); if (iserr) { *sipIsErr = 1; delete cpplist; return 0; } #if PY_MAJOR_VERSION >= 3 ushort p2 = (ushort)(PyLong_AsLong (PyTuple_GET_ITEM (elem, 1))); #else ushort p2 = (ushort)(PyInt_AS_LONG (PyTuple_GET_ITEM (elem, 1))); #endif cpplist->append (QPair (p1, p2)); } *sipCppPtr = cpplist; return 1; %End }; //end QDataStream& operator << (QDataStream& s, const KACL& a); QDataStream& operator >> (QDataStream& s, KACL& a);