/*******************************************************************************
* Copyright (c) 2016 comtel inc.
*
* 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.
*******************************************************************************/
package org.jfxvnc.net.rfb.render;
import org.jfxvnc.net.rfb.codec.PixelFormat;
import org.jfxvnc.net.rfb.codec.ProtocolVersion;
import org.jfxvnc.net.rfb.codec.security.SecurityType;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.StringProperty;
public interface ProtocolConfiguration {
final int DEFAULT_PORT = 5900;
final int DEFAULT_LISTENING_PORT = 5500;
/**
* VNC server name or IP address
*
* @return host
*/
StringProperty hostProperty();
/**
* VNC server port (default: 5900)
*
* @return port
*/
IntegerProperty portProperty();
/**
* listening mode to accept incoming connection requests (default: 5500)
*
* @return listening port
*/
IntegerProperty listeningPortProperty();
/**
* VNC authentication password
*
* @return password
*/
StringProperty passwordProperty();
/**
* Enable SSL/TLS transfer
*
* @return SSL/TLS enabled
*/
BooleanProperty sslProperty();
/**
* Security Type {@link SecurityType}
*
* @return current {@link SecurityType}
* @see org.jfxvnc.net.rfb.codec.security.SecurityType
*/
ObjectProperty<SecurityType> securityProperty();
/**
* VNC connection shared by other clients
*
* @return shared
*/
BooleanProperty sharedProperty();
/**
* Used Protocol Version {@link ProtocolVersion}
*
* @return current {@link ProtocolVersion}
*/
ObjectProperty<ProtocolVersion> versionProperty();
/**
* Used PixelFormat {@link PixelFormat}
*
* @return current {@link PixelFormat}
* @see org.jfxvnc.net.rfb.codec.PixelFormat
*/
ObjectProperty<PixelFormat> clientPixelFormatProperty();
/**
* Activate RAW encoding
*
* @return raw enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty rawEncProperty();
/**
* Activate COPY RECT encoding
*
* @return raw enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty copyRectEncProperty();
/**
* Activate Hextile encoding
*
* @return Hextile enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty hextileEncProperty();
/**
* Activate Cursor pseudo encoding
*
* @return Cursor enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty clientCursorProperty();
/**
* Activate Desktop Resize pseudo encoding
*
* @return Desktop Resize enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty desktopSizeProperty();
/**
* Activate Zlib pseudo encoding
*
* @return Zlib enabled
* @see org.jfxvnc.net.rfb.codec.Encoding
*/
BooleanProperty zlibEncProperty();
}