<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!--
  
   Copyright (c) 2011, 2012, 2013 Research In Motion Limited.
  
   Licensed 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.
  
-->
<qnx xmlns="http://www.qnx.com/schemas/application/1.0">

<!-- BlackBerry Tablet OS application descriptor file.

    Specifies parameters for identifying, installing, and launching native applications on BlackBerry Tablet OS.

-->

    <!-- A universally unique application identifier. Must be unique across all BlackBerry Tablet OS applications.
         Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
    <id>com.example.PjsuaBB</id>

    <!-- The name that is displayed in the BlackBerry Tablet OS application installer. 
         May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <name>PjsuaBB</name>
    
    <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade. 
         Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
         An updated version of application must have a versionNumber value higher than the previous version. Required. -->
    <versionNumber>1.0.0</versionNumber>

    <!-- Fourth digit segment of the package version. First three segments are taken from the 
         <versionNumber> element.  Must be an integer from 0 to 2^16-1 -->
    <buildId>1</buildId>
                 
    <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
    <!-- <versionLabel></versionLabel> -->

    <!-- Description, displayed in the BlackBerry Tablet OS application installer.
         May have multiple values for each language. See samples or xsd schema file. Optional. -->
    <description>Teluu Ltd. pjsua Demo App</description>

    <!-- Copyright information. Optional. -->
    <!-- <copyright></copyright> -->

    <!--  Name of author which is used for signing. Must match the developer name of your development certificate. -->
    <author>Teluu Ltd.</author>
    
    <!--  Unique author ID assigned by signing authority. Required if using debug tokens. -->
    <!-- <authorId>ABC1234YjsnUk235h</authorId> -->
   
    <initialWindow>
        <autoOrients>true</autoOrients>
        <systemChrome>none</systemChrome>
        <transparent>false</transparent>
    </initialWindow>
    
    <!--  The category where the application appears. Either core.games or core.media. -->
    <category>core.media</category>
    <configuration name="Device-Debug">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="arm/o.le-v7-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset>
       <asset path="/home/bennylp/Desktop/opt/bb10/lib/libopencore-amrnb.so.0" type="Qnx/Elf">lib/libopencore-amrnb.so.0</asset>
       <asset path="/home/bennylp/Desktop/opt/bb10/lib/libopencore-amrwb.so.0" type="Qnx/Elf">lib/libopencore-amrwb.so.0</asset>
    </configuration>
    <configuration name="Device-Release">
       <entryPointType>Qnx/Cascades</entryPointType>
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="arm/o.le-v7/PjsuaBB.so" entry="true" type="Qnx/Elf">PjsuaBB.so</asset>
    </configuration>
    <configuration name="Device-Profile">
       <platformArchitecture>armle-v7</platformArchitecture>
       <asset path="arm-p/o.le-v7-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset>
    </configuration>
    <configuration name="Simulator-Debug">
       <platformArchitecture>x86</platformArchitecture>
       <asset path="x86/o-g/PjsuaBB" entry="true" type="Qnx/Elf">PjsuaBB</asset>
    </configuration>
    
    <!--  The icon for the application -->
    <icon>
        <image>icon.png</image>
    </icon>

    <asset path="icon.png">icon.png</asset>
    <asset path="assets">assets</asset>
    
    <!-- Locale support -->
    
    <!-- Request permission to execute native code.  Required for native applications. -->
    <permission system="true">run_native</permission>
    <permission>access_internet</permission>
    <permission>record_audio</permission>
    <permission>run_when_backgrounded</permission>
    <env var="LD_LIBRARY_PATH" value="app/native/lib:/usr/lib/qt4/lib"/>

</qnx>
