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


//                 Generated by preSip
//            module tdecore  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 TDELockFile : TDEShared
{
%TypeHeaderCode
#include <klockfile.h>
%End


public:
    typedef TDESharedPtr<TDELockFile> Ptr;
                         TDELockFile (const TQString&);

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


    enum LockOptions
    {
        LockNoBlock, 
        LockForce
    };

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

};  // class TDELockFile

%End



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

%ConvertFromTypeCode
    // Convert to a Python instance

    if (!sipCpp)
        return NULL;

    TDESharedPtr<TDELockFile> *cPtr = new TDESharedPtr<TDELockFile> (*(TDESharedPtr<TDELockFile> *)sipCpp);
    TDELockFile *cpp = cPtr->data ();
    PyObject *obj = sipConvertFromInstance (cpp, sipClass_TDELockFile, 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;
    TDELockFile *cpp = (TDELockFile *)sipForceConvertToType(sipPy, sipType_TDELockFile, sipTransferObj, SIP_NO_CONVERTORS, NULL, &iserr);

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

    *sipCppPtr = new TDESharedPtr<TDELockFile> (cpp);

    return 1;
%End
};
%End


