<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright 1999-2004 The Apache Software Foundation
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.
-->
<jnlp spec='1.0+' codebase='$codebase'> 
	<information> 
		<title>Screen Sharing Application</title> 
		<vendor>$APP_NAME</vendor> 
		<homepage>http://openmeetings.apache.org/</homepage>
		<icon href="icon.jpg" />
		<icon kind="splash" href="splashicon.jpg" />
		<description>ScreenViewer Client Application</description> 
		<description kind="short">A File to grab a screen and send it to a Server</description> 
		<offline-allowed/> 
	</information>
	<security>
	    <all-permissions/>
	</security>	
	<resources> 
		<j2se version='1.5+'/>
$LIBRARIES
    </resources> 
    <application-desc main-class='$startUpClass'>
    	<argument>$red5-host</argument> 
    	<argument>$red5-app</argument> 
    	<argument>$port</argument> 
    	<argument>$PUBLIC_SID</argument>   
    	<argument>$LABELSHARER</argument> 
    	<argument>$organization_id</argument> 
    	<argument>$default_quality_screensharing</argument>
    	<argument>$user_id</argument>   
    	<argument>$allowRecording</argument>
    	<argument>$allowPublishing</argument>
$KEYSTORE
    </application-desc> 
</jnlp> 
