00001
00002
00003 #ifndef UINETTERMINAL_H
00004 #define UINETTERMINAL_H
00005
00006
00007 #include <string>
00008 #include <libxml/tree.h>
00009
00010 namespace FD {
00011
00012 class UINode;
00013 class UINetwork;
00014 class UITerminal;
00015
00016
00017 class UINetTerminal {
00018 public:
00019 enum NetTermType {INPUT, OUTPUT, CONDITION};
00020
00021 protected:
00022 std::string name;
00023 std::string m_objectType;
00024 std::string m_description;
00025
00026 UITerminal *terminal;
00027 double x,y;
00028 NetTermType type;
00029
00030
00031 public:
00032
00033 UINetTerminal(UITerminal *_terminal, NetTermType _type, const std::string &_name,
00034 const std::string &_objType = "any", const std::string &_description = "No description available");
00035
00036
00037 virtual ~UINetTerminal();
00038
00039 void setName(const std::string &_name) {name = _name;}
00040 std::string getName() {return name;}
00041
00042 void setObjectType(const std::string &_objType) {m_objectType = _objType;}
00043 std::string getObjectType(){return m_objectType;}
00044
00045 void setDescription(const std::string &description) {m_description = description;}
00046 std::string getDescription(){return m_description;}
00047
00048 void saveXML(xmlNode *root);
00049 NetTermType getType() {return type;}
00050 UITerminal *getTerminal() {return terminal;}
00051
00052 };
00053
00054 }
00055 #endif