<?xml version='1.0'?>
<!DOCTYPE signatures SYSTEM "file://localhost/System/Library/DTDs/BridgeSupport.dtd">
<!--
NOTE: Unlike BridgeSupport files bundled in RubyCocoa, which are program
generated, this file is hand written by me, Naoki Hiroshima.  So, don't be
freaked out if this didn't work for you as expected.  Instead, you can fix
it by your own and let me know.  Or you can email me at <n at h7a dot org>
to tell me how it didn't work. I would probably like to fix it.
-->
<signatures version='0.9'>

 <cftype name='TISInputSourceRef' gettypeid_func='TISInputSourceGetTypeID' type='^{__TISInputSourceRef=}'/>

  <function name='TISInputSourceGetTypeID'>
    <retval declared_type='CFTypeID' type='L' type64='Q'/>
  </function>

  <function name='TISGetInputSourceProperty'>
    <arg name='inputSource' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <arg name='propertyKey' declared_type='CFStringRef' type='^{__CFString=}'/>
    <retval declared_type='void*' type='^v'/>
  </function>

  <function name='TISCreateInputSourceList'>
    <arg name='properties' declared_type='CFDictionaryRef' type='^{__CFDictionary=}'/>
    <arg name='includeAllInstalled' declared_type='Boolean' type='B'/>
    <retval declared_type='CFArrayRef' type='^{__CFArray=}'/>
  </function>

  <function name='TISCopyCurrentKeyboardInputSource'>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISCopyCurrentKeyboardLayoutInputSource'>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISCopyCurrentASCIICapableKeyboardInputSource'>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISCopyCurrentASCIICapableKeyboardLayoutInputSource'>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISCopyInputSourceForLanguage'>
    <arg name='language' declared_type='CFStringRef' type='^{__CFString=}'/>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISCreateASCIICapableInputSourceList'>
    <retval declared_type='CFArrayRef' type='^{__CFArray=}'/>
  </function>

  <function name='TISSelectInputSource'>
    <arg name='inputSource' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <function name='TISDeselectInputSource'>
    <arg name='inputSource' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <function name='TISEnableInputSource'>
    <arg name='inputSource' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <function name='TISDisableInputSource'>
    <arg name='inputSource' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <function name='TISSetInputMethodKeyboardLayoutOverride'>
    <arg name='keyboardLayout' declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <function name='TISCopyInputMethodKeyboardLayoutOverride'>
    <retval declared_type='TISInputSourceRef' type='^{__TISInputSourceRef=}'/>
  </function>

  <function name='TISRegisterInputSource'>
    <arg name='location' declared_type='CFURLRef' type='^{__CFURL=}'/>
    <retval declared_type='OSStatus' type='l' type64='i'/>
  </function>

  <constant name='kTISPropertyInputSourceCategory' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceType' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceIsASCIICapable' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceIsEnableCapable' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceIsSelectCapable' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceIsEnabled' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceIsSelected' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceID' type='^{__CFString=}'/>
  <constant name='kTISPropertyBundleID' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputModeID' type='^{__CFString=}'/>
  <constant name='kTISPropertyLocalizedName' type='^{__CFString=}'/>
  <constant name='kTISPropertyInputSourceLanguages' type='^{__CFString=}'/>
  <constant name='kTISPropertyUnicodeKeyLayoutData' type='^{__CFString=}'/>
  <constant name='kTISPropertyIconRef' type='^{__CFString=}'/>
  <constant name='kTISPropertyIconImageURL' type='^{__CFString=}'/>

</signatures>
