//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kdecore  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_3_0 -  )

class KLockFile : KShared
{
%TypeHeaderCode
#include <klockfile.h>
%End


public:
    typedef KSharedPtr<KLockFile> Ptr;
                         KLockFile (const QString&);

    enum LockResult
    {
        LockOK, 
        LockFail, 
        LockError, 
        LockStale
    };


    enum LockOptions
    {
        LockNoBlock, 
        LockForce
    };

    KLockFile::LockResult lock (int = 0);
    bool                 isLocked () const;
    void                 unlock ();
    int                  staleTime () const;
    void                 setStaleTime (int);
    bool                 getLockInfo (int& /Out/, QString& /Out/, QString& /Out/);

};  // class KLockFile

%End



%If (KDE_3_3_0 - )
%MappedType KLockFile::Ptr
//converts KLockFile
{
%TypeHeaderCode
#include <ksharedptr.h>
#include <klockfile.h>
%End

%ConvertFromTypeCode
    // Convert to a Python instance

    if (!sipCpp)
        return NULL;

    KSharedPtr<KLockFile> *cPtr = new KSharedPtr<KLockFile> (*(KSharedPtr<KLockFile> *)sipCpp);
    KLockFile *cpp = cPtr->data ();
    PyObject *obj = sipConvertFromInstance (cpp, sipClass_KLockFile, sipTransferObj);

    return obj;
%End

%ConvertToTypeCode
    // Convert a Python instance to a Ptr on the heap.

    if (sipIsErr == NULL)
        return PyInstance_Check(sipPy);

    int iserr = 0;
    KLockFile *cpp = (KLockFile *)sipForceConvertToType(sipPy, sipType_KLockFile, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);

    if (iserr)
    {
        *sipIsErr = 1;
        return 0;
    }

    *sipCppPtr = new KSharedPtr<KLockFile> (cpp);

    return 1;
%End
};
%End


