/* ----------------------------------------------------------------------------
 * 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: PADevice extends: SwigProxy fields: swigCPtrForPADevice, swigCMemoryOwn {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    swigCMemoryOwn := newCMemoryOwn.
    swigCPtrForPADevice := newCPtr.
  ]

  Method [ getCPtrForPADevice
    ^swigCPtrForPADevice
  ]


  Function [ new
    self noDefaultConstructorError
  ]

  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

  Method [ delete 
    (swigCMemoryOwn and:[ swigCPtrForPADevice ~~ 0 ]) ifTrue:[
      swigCMemoryOwn := false.
      CslNI cslNI_delete_PADevice: swigCPtrForPADevice.
    ].
    swigCPtrForPADevice := 0.
  ]

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

  Function [ name: name index: index maxIn: maxIn maxOut: maxOut isIn: isIn isOut: isOut
    ^self fromPointer: (CslNI cslNI_new_PADevice: (SwigTypePstring getCPtr: name), index, maxIn, maxOut, isIn asBooleanParameter, isOut asBooleanParameter) memoryOwn: true
  ]

  Method [ setMName: mName 
    CslNI cslNI_set_PADevice_mName: swigCPtrForPADevice with: (SwigTypePstring getCPtr: mName)
  ]

  Method [ getMName 
    ^SwigTypePstring fromPointer: CslNI cslNI_get_PADevice_mName: swigCPtrForPADevice  memoryOwn: true
  ]

  Method [ setMIndex: mIndex 
    CslNI cslNI_set_PADevice_mIndex: swigCPtrForPADevice with: mIndex
  ]

  Method [ getMIndex 
    ^CslNI cslNI_get_PADevice_mIndex: swigCPtrForPADevice 
  ]

  Method [ setMMaxInputChannels: mMaxInputChannels 
    CslNI cslNI_set_PADevice_mMaxInputChannels: swigCPtrForPADevice with: mMaxInputChannels
  ]

  Method [ getMMaxInputChannels 
    ^CslNI cslNI_get_PADevice_mMaxInputChannels: swigCPtrForPADevice 
  ]

  Method [ setMMaxOutputChannels: mMaxOutputChannels 
    CslNI cslNI_set_PADevice_mMaxOutputChannels: swigCPtrForPADevice with: mMaxOutputChannels
  ]

  Method [ getMMaxOutputChannels 
    ^CslNI cslNI_get_PADevice_mMaxOutputChannels: swigCPtrForPADevice 
  ]

  Method [ setMFrameRates: mFrameRates 
    CslNI cslNI_set_PADevice_mFrameRates: swigCPtrForPADevice with: (SwigTypePstdvectorTfloatstdallocatorTfloattt getCPtr: mFrameRates)
  ]

  Method [ getMFrameRates 
    |cPtr|
    cPtr := CslNI cslNI_get_PADevice_mFrameRates: swigCPtrForPADevice .
    ^(cPtr == 0) ifTrue:[ nil ] ifFalse:[ SwigTypePstdvectorTfloatstdallocatorTfloattt fromPointer: cPtr memoryOwn: false ]
  ]

  Method [ setMIsDefaultIn: mIsDefaultIn 
    CslNI cslNI_set_PADevice_mIsDefaultIn: swigCPtrForPADevice with: mIsDefaultIn asBooleanParameter
  ]

  Method [ getMIsDefaultIn 
	^(CslNI cslNI_get_PADevice_mIsDefaultIn: swigCPtrForPADevice ) asBoolean
  ]

  Method [ setMIsDefaultOut: mIsDefaultOut 
    CslNI cslNI_set_PADevice_mIsDefaultOut: swigCPtrForPADevice with: mIsDefaultOut asBooleanParameter
  ]

  Method [ getMIsDefaultOut 
	^(CslNI cslNI_get_PADevice_mIsDefaultOut: swigCPtrForPADevice ) asBoolean
  ]

}
