<?xml version="1.0" encoding="utf-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
        id="psiphon-cordova-plugin"
        version="0.10.2">

  <name>Psiphon</name>

  <engines>
    <engine name="cordova" version=">=5.0.0"/>
  </engines>

  <asset src="www/psiphon.js" target="js/psiphon.js"/>

  <js-module src="www/psiphon.js" name="psiphon">
    <clobbers target="psiphon" />
  </js-module>

  <platform name="android">

    <config-file target="config.xml" parent="/*">
      <feature name="Psiphon">
        <param name="android-package" value="ca.psiphon.plugin.Psiphon"/>
        <param name="onload" value="true" />
      </feature>
    </config-file>

    <config-file target="AndroidManifest.xml" parent="/*">
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    </config-file>

    <lib-file src="lib/android/ca.psiphon.aar" />
    <framework src="lib/android/build.gradle" custom="true" type="gradleReference" />
    <source-file src="src/android/Psiphon.java" target-dir="src/ca/psiphon/plugin/"/>
    <source-file src="src/android/WebViewProxySettings.java" target-dir="src/ca/psiphon/plugin/"/>
  </platform>

  <platform name="ios">

    <config-file target="config.xml" parent="/widget">
      <feature name="Psiphon">
        <param name="ios-package" value="PSICordova" />
        <param name="onload" value="true" />
      </feature>
    </config-file>

    <framework src="lib/ios/PsiphonTunnel.framework" embed="true" custom="true" />
    <header-file src="src/ios/Psiphon-Bridging-Header.h" />
    <source-file src="src/ios/PSICordova.swift" target-dir="PSICordova"/>
    <source-file src="src/ios/ViewController.swift" target-dir="PSICordova"/>
    <header-file src="src/ios/Psiphon/JAHPAuthenticatingHTTPProtocol.h" target-dir="PSICordova/Psiphon"/>
    <source-file src="src/ios/Psiphon/JAHPAuthenticatingHTTPProtocol.m" target-dir="PSICordova/Psiphon"/>
    <header-file src="src/ios/Psiphon/JAHPCacheStoragePolicy.h"         target-dir="PSICordova/Psiphon"/>
    <source-file src="src/ios/Psiphon/JAHPCacheStoragePolicy.m"         target-dir="PSICordova/Psiphon"/>
    <header-file src="src/ios/Psiphon/JAHPCanonicalRequest.h"           target-dir="PSICordova/Psiphon"/>
    <source-file src="src/ios/Psiphon/JAHPCanonicalRequest.m"           target-dir="PSICordova/Psiphon"/>
    <header-file src="src/ios/Psiphon/JAHPQNSURLSessionDemux.h"         target-dir="PSICordova/Psiphon"/>
    <source-file src="src/ios/Psiphon/JAHPQNSURLSessionDemux.m"         target-dir="PSICordova/Psiphon"/>

    <hook type="after_plugin_install" src="hooks/addSwiftHeader.js" />

    <dependency id="cordova-plugin-add-swift-support" version="1.7.1"/>
  </platform>

</plugin>