<?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.1-dev">

    <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>
