<?xml version="1.0" encoding="utf-8"?>
<plugin
    xmlns="http://www.phonegap.com/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="phonegap-nfc"
    version="1.2.0">

    <name>NFC</name>

    <description>Near Field Communication (NFC) Plugin. Read and write NDEF messages to NFC tags and share NDEF messages with peers.</description>

    <license>MIT</license>
    <keywords>nfc, NFC, NDEF</keywords>
    <repo>https://github.com/chariotsolutions/phonegap-nfc.git</repo>
    <issue>https://github.com/chariotsolutions/phonegap-nfc/issues</issue>

    <platform name="android">
        <js-module src="www/phonegap-nfc.js" name="NFC">
            <runs />
        </js-module>

        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="NfcPlugin">
                <param name="android-package" value="com.chariotsolutions.nfc.plugin.NfcPlugin"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>

        <source-file src="src/android/src/com/chariotsolutions/nfc/plugin/NfcPlugin.java"
            target-dir="src/com/chariotsolutions/nfc/plugin"/>
        <source-file src="src/android/src/com/chariotsolutions/nfc/plugin/Util.java"
            target-dir="src/com/chariotsolutions/nfc/plugin"/>

        <config-file target="AndroidManifest.xml" parent="/manifest">
            <uses-permission android:name="android.permission.NFC"/>
            <uses-feature android:name="android.hardware.nfc" android:required="false"/>
        </config-file>

    </platform>

    <platform name="wp8">
        <js-module src="www/phonegap-nfc.js" name="NFC">
            <runs />
        </js-module>

        <config-file target="config.xml" parent="/*">
            <feature name="NfcPlugin">
                <param name="wp-package" value="NfcPlugin"/>
            </feature>
        </config-file>

        <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
            <Capability Name="ID_CAP_PROXIMITY" />
        </config-file>

        <source-file src="src/windows-phone-8/Ndef.cs" />
        <source-file src="src/windows-phone-8/NfcPlugin.cs" />

    </platform>

    <!-- windows -->
    <platform name="windows">
        <js-module src="www/phonegap-nfc.js" name="NFC">
            <runs />
        </js-module>

        <config-file target="config.xml" parent="/*">
            <feature name="NfcPlugin">
                <param name="wp-package" value="NfcPlugin"/>
            </feature>
        </config-file>

        <config-file target="package.phone.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="proximity" />
        </config-file>
        <config-file target="package.windows.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="proximity" />
        </config-file>
        <config-file target="package.windows10.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="proximity" />
        </config-file>
        <config-file target="package.windows80.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="proximity" />
        </config-file>

        <js-module src="src/windows/nfc-plugin.js" name="NfcPlugin">
            <merges target="" />
        </js-module>
    </platform>

    <platform name="blackberry10">
        <js-module src="www/phonegap-nfc.js" name="NFC">
            <runs />
        </js-module>
        <!-- override defaults for BB10 -->
        <js-module src="www/phonegap-nfc-blackberry.js" name="NFCBB10">
            <runs />
        </js-module>

        <!-- "native" implementation -->
        <source-file src="src/blackberry10/index.js" />

        <config-file target="www/config.xml" parent="/widget">
            <!-- Note: mapping is broken in Cordova 3.1.0-0.2.0 -->
            <feature name="NfcPlugin" value="com.chariotsolutions.nfc.plugin" />
        </config-file>
    </platform>

    <platform name="ios">
        <js-module src="www/phonegap-nfc.js" name="NFC">
            <runs />
        </js-module>

        <config-file parent="/*" target="config.xml">
            <feature name="NfcPlugin">
                <param name="ios-package" value="NfcPlugin" />
            </feature>
        </config-file>

        <!-- https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_nfc_readersession_formats?language=objc -->
        <config-file parent="com.apple.developer.nfc.readersession.formats" platform="ios" target="*-Debug.plist">
            <array>
                <string>NDEF</string>
                <string>TAG</string>  
            </array>
        </config-file>
        <config-file parent="com.apple.developer.nfc.readersession.formats" platform="ios" target="*-Release.plist">
            <array>
                <string>NDEF</string>
                <string>TAG</string>  
            </array>
        </config-file>
        
        <header-file src="src/ios/NfcPlugin.h" />
        <source-file src="src/ios/NfcPlugin.m" />

        <!-- frameworks -->
        <framework src="CoreNFC.framework" weak="true" />

        <preference name="NFC_USAGE_DESCRIPTION" default="Read NFC Tags" />
        <config-file target="*-Info.plist" parent="NFCReaderUsageDescription">
            <string>$NFC_USAGE_DESCRIPTION</string>
        </config-file>
    </platform>


</plugin>
