ymlportside.h

Go to the documentation of this file.
00001 /*******************************************************************\
00002 
00003                    SESAME project software license
00004 
00005               Copyright (C) 2002 University of Amsterdam
00006 
00007     This program is free software; you can redistribute it and/or
00008      modify it under the terms of the GNU General Public License
00009     as published by the Free Software Foundation; either version 2
00010         of the License, or (at your option) any later version.
00011 
00012    This program is distributed in the hope that it will be useful,
00013     but WITHOUT ANY WARRANTY; without even the implied warranty of
00014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015              GNU General Public License for more details.
00016 
00017   You should have received a copy of the GNU General Public License
00018      along with this program; if not, write to the Free Software
00019       Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00020                            02111-1307, USA.
00021 
00022       For information regarding the SESAME software project see
00023               http://sesamesim.sourceforge.net or email
00024                     jcofflan@users.sourceforge.net
00025 
00026 \*******************************************************************/
00039 #ifndef YMLPORTSIDE_H
00040 #define YMLPORTSIDE_H
00041 
00042 #include <BasicUtils/BasicArray.h>
00043 
00044 class YMLPort;
00045 
00046 class YMLPortSide {
00047  public:
00048   typedef enum {sIn, sOut} side_t;
00049  private:
00050 
00052   BasicArray<YMLPortSide *> links;
00053 
00055   YMLPortSide *otherSide;
00056 
00058   YMLPort *port;
00059 
00061   side_t type;
00062 
00063   int commChannelID;
00064 
00065  public:
00066   YMLPortSide(YMLPort *port, YMLPortSide *otherSide, side_t type);
00067 
00073   YMLPortSide *getOtherSide() {return otherSide;}
00074 
00080   YMLPort *getPort() {return port;}
00081 
00087   side_t getType() {return type;}
00088   int getDir();
00089 
00093   int getNumLinks() {return links.getSize();}
00094 
00102   int addLink(YMLPortSide *side) {links.put(side); return links.getSize() - 1;}
00103 
00111   YMLPortSide *&getLink(int i) {return links[i];}
00112 
00120   YMLPortSide *&operator[](int i) {return getLink(i);}
00121 
00122   void setCommChannelID(const int id) {commChannelID = id;}
00123   int getCommChannelID() {return commChannelID;}
00124 };
00125 #endif // YMLPORTSIDE_H
00126 

Generated on Wed Apr 5 20:57:46 2006 for Sesame by  doxygen 1.4.6