<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:rim="http://www.blackberry.com/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
           id="cordova-plugin-geolocation"
      version="2.2.0">

    <name>Geolocation</name>
    <description>Cordova Geolocation Plugin</description>
    <license>Apache 2.0</license>
    <keywords>cordova,geolocation</keywords>
    <repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git</repo>
    <issue>https://issues.apache.org/jira/browse/CB/component/12320638</issue>

    <dependency id="cordova-plugin-compat" version="^1.0.0" />

    <!-- android -->
    <platform name="android">

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        </config-file>

        <config-file target="res/xml/config.xml" parent="/*">
          <feature name="Geolocation">
              <param name="android-package" value="org.apache.cordova.geolocation.Geolocation" />
          </feature>
        </config-file>

        <source-file src="src/android/Geolocation.java" target-dir="src/org/apache/cordova/geolocation/" />

        <js-module src="www/android/geolocation.js" name="geolocation">
            <clobbers target="navigator.geolocation" />
        </js-module>

        <!-- We don't expose PositionError via clobber on Android as we use it internally only -->
        <js-module src="www/PositionError.js" name="PositionError">
            <runs />
        </js-module>

    </platform>

     <!-- amazon-fireos -->
    <platform name="amazon-fireos">

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        </config-file>

    </platform>

    <!-- ios -->
    <platform name="ios">

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

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

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

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

        <config-file target="config.xml" parent="/*">
                <feature name="Geolocation">
                    <param name="ios-package" value="CDVLocation"/>
                </feature>
        </config-file>
        <header-file src="src/ios/CDVLocation.h" />
        <source-file src="src/ios/CDVLocation.m" />
        <framework src="CoreLocation.framework" />

        <config-file target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription">
            <string></string>
        </config-file>

    </platform>

    <!-- blackberry10 -->
    <platform name="blackberry10">

        <js-module src="www/blackberry10/GeolocationProxy.js" name="GeolocationProxy">
            <runs />
        </js-module>

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

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

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

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

        <config-file target="www/config.xml" parent="/widget">
            <feature name="Geolocation" value="Geolocation"/>
        </config-file>

        <config-file target="www/config.xml" parent="/widget/rim:permissions">
          <rim:permit>read_geolocation</rim:permit>
        </config-file>

    </platform>

    <!-- ubuntu -->
    <platform name="ubuntu">
        <js-module src="www/Coordinates.js" name="Coordinates">
            <clobbers target="Coordinates" />
        </js-module>

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

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

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

        <source-file src="src/ubuntu/geolocation.cpp" />
        <header-file src="src/ubuntu/geolocation.h" />
        <config-file target="config.xml" parent="/*">
            <feature name="Geolocation">
                <param policy_group="location" policy_version="1" />
            </feature>
        </config-file>
    </platform>

    <!-- wp7 -->
    <platform name="wp7">

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

        <source-file src="src/wp/Geolocation.cs" />
    </platform>

    <!-- wp8 -->
    <platform name="wp8">

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

        <source-file src="src/wp/Geolocation.cs" />
    </platform>

    <!-- windows8 -->
    <platform name="windows8">
        <config-file target="package.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="location" />
        </config-file>

        <js-module src="src/windows/GeolocationProxy.js" name="GeolocationProxy">
            <runs />
        </js-module>

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

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

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

        <js-module src="www/geolocation.js" name="geolocation">
            <clobbers target="navigator.geolocation" />
        </js-module>
    </platform>

    <!-- windows universal apps (Windows 8.1, Windows Phone 8.1, Windows 8.0) -->
    <platform name="windows">
        <config-file target="package.appxmanifest" parent="/Package/Capabilities">
            <DeviceCapability Name="location" />
        </config-file>

        <js-module src="src/windows/GeolocationProxy.js" name="GeolocationProxy">
            <runs />
        </js-module>

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

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

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

        <js-module src="www/geolocation.js" name="geolocation">
            <clobbers target="navigator.geolocation" />
        </js-module>
    </platform>

    <!-- firefoxos -->
    <platform name="firefoxos">
      <config-file target="config.xml" parent="/*">
          <permission name="geolocation" description="Required for accessing user location." />
      </config-file>

        <js-module src="src/firefoxos/GeolocationProxy.js" name="GeolocationProxy">
            <runs />
        </js-module>

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

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

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

        <js-module src="www/geolocation.js" name="geolocation">
            <clobbers target="navigator.geolocation" />
        </js-module>
    </platform>
</plugin>
