/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version: 1.3.21
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


Class name: ThreadPthread extends: Thread fields: swigCPtrForThreadPthread {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGThreadPthreadToThread: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForThreadPthread := newCPtr.
  ]

  Method [ getCPtrForThreadPthread
    ^swigCPtrForThreadPthread
  ]


  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

  Method [ delete 
    (swigCMemoryOwn and:[ swigCPtrForThreadPthread ~~ 0 ]) ifTrue:[
      swigCMemoryOwn := false.
      CslNI cslNI_delete_ThreadPthread: swigCPtrForThreadPthread.
    ].
    swigCPtrForThreadPthread := 0.
    super delete.
  ]

  Function[ getCPtr: obj
     obj isNil ifTrue:[^0].
     ^obj getCPtrForThreadPthread
  ]

  Function [ new
    ^self fromPointer: (CslNI cslNI_new_ThreadPthread) memoryOwn: true
  ]

  Method [ setMThread: mThread 
    CslNI cslNI_set_ThreadPthread_mThread: swigCPtrForThreadPthread with: (SwigTypePpthreadt getCPtr: mThread)
  ]

  Method [ getMThread 
    ^SwigTypePpthreadt fromPointer: CslNI cslNI_get_ThreadPthread_mThread: swigCPtrForThreadPthread  memoryOwn: true
  ]

  Method [ setMAttributes: mAttributes 
    CslNI cslNI_set_ThreadPthread_mAttributes: swigCPtrForThreadPthread with: (SwigTypePpthreadattrt getCPtr: mAttributes)
  ]

  Method [ getMAttributes 
    ^SwigTypePpthreadattrt fromPointer: CslNI cslNI_get_ThreadPthread_mAttributes: swigCPtrForThreadPthread  memoryOwn: true
  ]

  Method [ createThread: func args: args 
    ^CslNI cslNI_ThreadPthread_createThread: swigCPtrForThreadPthread with: (SwigTypePfpvoidpvoid getCPtr: func) with: (SwigTypePvoid getCPtr: args)
  ]

  Method [ createRealtimeThread: func args: args 
    ^CslNI cslNI_ThreadPthread_createRealtimeThread: swigCPtrForThreadPthread with: (SwigTypePfpvoidpvoid getCPtr: func) with: (SwigTypePvoid getCPtr: args)
  ]

}
