001/**
002 * ******************************************************************************
003 * Copyright (c) 2018 Red Hat Inc
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *  *
009 * Contributors:
010 *     Jens Reimann - initial API and implementation
011 *  ******************************************************************************
012 */
013package de.dentrassi.varlink.idl.varlinkIdl;
014
015import org.eclipse.emf.common.util.EList;
016
017import org.eclipse.emf.ecore.EObject;
018
019/**
020 * <!-- begin-user-doc -->
021 * A representation of the model object '<em><b>Interface</b></em>'.
022 * <!-- end-user-doc -->
023 *
024 * <p>
025 * The following features are supported:
026 * </p>
027 * <ul>
028 *   <li>{@link de.dentrassi.varlink.idl.varlinkIdl.Interface#getName <em>Name</em>}</li>
029 *   <li>{@link de.dentrassi.varlink.idl.varlinkIdl.Interface#getMembers <em>Members</em>}</li>
030 * </ul>
031 *
032 * @see de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage#getInterface()
033 * @model
034 * @generated
035 */
036public interface Interface extends EObject
037{
038  /**
039   * Returns the value of the '<em><b>Name</b></em>' attribute.
040   * <!-- begin-user-doc -->
041   * <p>
042   * If the meaning of the '<em>Name</em>' attribute isn't clear,
043   * there really should be more of a description here...
044   * </p>
045   * <!-- end-user-doc -->
046   * @return the value of the '<em>Name</em>' attribute.
047   * @see #setName(String)
048   * @see de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage#getInterface_Name()
049   * @model
050   * @generated
051   */
052  String getName();
053
054  /**
055   * Sets the value of the '{@link de.dentrassi.varlink.idl.varlinkIdl.Interface#getName <em>Name</em>}' attribute.
056   * <!-- begin-user-doc -->
057   * <!-- end-user-doc -->
058   * @param value the new value of the '<em>Name</em>' attribute.
059   * @see #getName()
060   * @generated
061   */
062  void setName(String value);
063
064  /**
065   * Returns the value of the '<em><b>Members</b></em>' containment reference list.
066   * The list contents are of type {@link de.dentrassi.varlink.idl.varlinkIdl.Member}.
067   * <!-- begin-user-doc -->
068   * <p>
069   * If the meaning of the '<em>Members</em>' containment reference list isn't clear,
070   * there really should be more of a description here...
071   * </p>
072   * <!-- end-user-doc -->
073   * @return the value of the '<em>Members</em>' containment reference list.
074   * @see de.dentrassi.varlink.idl.varlinkIdl.VarlinkIdlPackage#getInterface_Members()
075   * @model containment="true"
076   * @generated
077   */
078  EList<Member> getMembers();
079
080} // Interface