blob: 1e15c648385b4b649998a200d54266d942ae99a3 [file] [log] [blame]
/**
* *******************************************************************************
* Copyright (c) 2020 Agence spatiale canadienne / Canadian Space Agency
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Pierre Allard - initial API and implementation
*
* SPDX-License-Identifier: EPL-1.0
* *******************************************************************************
*/
package org.eclipse.apogy.addons.mqtt;
import org.eclipse.apogy.common.emf.NamedDescribedElement;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>MQTT Broker Connection Info</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* *
* Connection options that also includes the broker connection information.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isValid <em>Valid</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isRequireValidation <em>Require Validation</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getBrokerHostName <em>Broker Host Name</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getPort <em>Port</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getUserName <em>User Name</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getPassword <em>Password</em>}</li>
* <li>{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isUseSystemUserName <em>Use System User Name</em>}</li>
* </ul>
*
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo()
* @model annotation="http://www.eclipse.org/apogy hasCustomClass='true'"
* @generated
*/
public interface MQTTBrokerConnectionInfo extends NamedDescribedElement {
/**
* Returns the value of the '<em><b>Valid</b></em>' attribute.
* The default value is <code>"false"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Whether or not the connection have been validated.
* <!-- end-model-doc -->
* @return the value of the '<em>Valid</em>' attribute.
* @see #setValid(boolean)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_Valid()
* @model default="false" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel property='readonly'"
* @generated
*/
boolean isValid();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isValid <em>Valid</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Valid</em>' attribute.
* @see #isValid()
* @generated
*/
void setValid(boolean value);
/**
* Returns the value of the '<em><b>Require Validation</b></em>' attribute.
* The default value is <code>"true"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Whether or not the connection requires to be validated.
* <!-- end-model-doc -->
* @return the value of the '<em>Require Validation</em>' attribute.
* @see #setRequireValidation(boolean)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_RequireValidation()
* @model default="true" unique="false"
* annotation="http://www.eclipse.org/emf/2002/GenModel property='none'"
* @generated
*/
boolean isRequireValidation();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isRequireValidation <em>Require Validation</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Require Validation</em>' attribute.
* @see #isRequireValidation()
* @generated
*/
void setRequireValidation(boolean value);
/**
* Returns the value of the '<em><b>Broker Host Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Broker Host Name.
* <!-- end-model-doc -->
* @return the value of the '<em>Broker Host Name</em>' attribute.
* @see #setBrokerHostName(String)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_BrokerHostName()
* @model unique="false"
* @generated
*/
String getBrokerHostName();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getBrokerHostName <em>Broker Host Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Broker Host Name</em>' attribute.
* @see #getBrokerHostName()
* @generated
*/
void setBrokerHostName(String value);
/**
* Returns the value of the '<em><b>Port</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Broker Port.
* <!-- end-model-doc -->
* @return the value of the '<em>Port</em>' attribute.
* @see #setPort(int)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_Port()
* @model unique="false"
* @generated
*/
int getPort();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getPort <em>Port</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Port</em>' attribute.
* @see #getPort()
* @generated
*/
void setPort(int value);
/**
* Returns the value of the '<em><b>User Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* User name required to connect to broker.
* <!-- end-model-doc -->
* @return the value of the '<em>User Name</em>' attribute.
* @see #setUserName(String)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_UserName()
* @model unique="false"
* @generated
*/
String getUserName();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getUserName <em>User Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>User Name</em>' attribute.
* @see #getUserName()
* @generated
*/
void setUserName(String value);
/**
* Returns the value of the '<em><b>Password</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Password required to connect to broker. Not persisted for security reasons.
* <!-- end-model-doc -->
* @return the value of the '<em>Password</em>' attribute.
* @see #setPassword(String)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_Password()
* @model unique="false" transient="true"
* @generated
*/
String getPassword();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#getPassword <em>Password</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Password</em>' attribute.
* @see #getPassword()
* @generated
*/
void setPassword(String value);
/**
* Returns the value of the '<em><b>Use System User Name</b></em>' attribute.
* The default value is <code>"false"</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Whether or not to use the system user name as the effective user name. This allows, when enabled, the
* MQTTBrokerConnectionInfo to be shared between users without requiring to change the userName when ever a
* different user uses it.
* <!-- end-model-doc -->
* @return the value of the '<em>Use System User Name</em>' attribute.
* @see #setUseSystemUserName(boolean)
* @see org.eclipse.apogy.addons.mqtt.ApogyAddonsMQTTPackage#getMQTTBrokerConnectionInfo_UseSystemUserName()
* @model default="false" unique="false"
* @generated
*/
boolean isUseSystemUserName();
/**
* Sets the value of the '{@link org.eclipse.apogy.addons.mqtt.MQTTBrokerConnectionInfo#isUseSystemUserName <em>Use System User Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Use System User Name</em>' attribute.
* @see #isUseSystemUserName()
* @generated
*/
void setUseSystemUserName(boolean value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Returns the password. User is prompted to provide the password the first time the password is requested (i.e. when the password is null).
* <!-- end-model-doc -->
* @model kind="operation" unique="false"
* @generated
*/
String getUserPassword();
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Return the user name currently effective. When useSystemUserName is enabled,
* this is the system user name, when useSystemUserName is disabled, returns userName.
* <!-- end-model-doc -->
* @model kind="operation" unique="false"
* @generated
*/
String getEffectiveUserName();
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* *
* Attempts to connect with the broker using the user name + password.
* @return True if the connection was accepted, false otherwise.
* <!-- end-model-doc -->
* @model unique="false"
* @generated
*/
boolean validate();
} // MQTTBrokerConnectionInfo