19 class ComponentInstance;
22 class Proc: public Bloc
25 Proc(const std::string& name);
27 virtual TypeCode *createType(const std::string& name, const std::string& kind);
28 virtual TypeCode *createInterfaceTc(const std::string& id, const std::string& name,
29 std::list<TypeCodeObjref *> ltc);
30 virtual TypeCode *createSequenceTc (const std::string& id, const std::string& name,
32 virtual TypeCode *createStructTc (const std::string& id, const std::string& name);
33 virtual TypeCode* getTypeCode(const std::string& name);
34 virtual void setTypeCode(const std::string& name,TypeCode *t);
35 virtual void accept(Visitor *visitor);
37 YACS::StatesForNode getNodeState(int numId);
38 std::string getInPortValue(int nodeNumId, std::string portName);
39 std::string getOutPortValue(int nodeNumId, std::string portName);
40 std::string getNodeErrorDetails(int nodeNumId);
41 std::string getNodeErrorReport(int nodeNumId);
42 std::string getNodeContainerLog(int nodeNumId);
43 std::string getXMLState(int numId);
44 std::list<int> getNumIds();
45 std::list<std::string> getIds();
46 virtual Logger *getLogger(const std::string& name);
48 virtual void writeDot(std::ostream &os) const;
49 void setName(const std::string& name); // Used by GUI to display graph name
50 virtual std::string typeName() {return "YACS__ENGINE__Proc";}
52 friend std::ostream & operator<< ( std::ostream &os, const Proc& p);
53 std::map<std::string, Node*> nodeMap;
54 std::map<std::string, ServiceNode*> serviceMap;
55 std::map<std::string, InlineNode*> inlineMap;
56 std::map<std::string, TypeCode*> typeMap;
57 std::map<std::string, Container*> containerMap;
58 std::map<std::pair<std::string,int>, ComponentInstance*> componentInstanceMap;
59 std::vector<std::string> names;
61 typedef std::map<std::string, Logger*> LoggerMap;
63 virtual bool getEdition(){return _edition;}
64 virtual void setEdition(bool edition);
65 virtual void modified();