]> SALOME platform Git repositories - modules/yacs.git/blob - src/engine/AnyInputPort.hxx
Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / engine / AnyInputPort.hxx
1 #ifndef __ANYINPUTPORT_HXX__
2 #define __ANYINPUTPORT_HXX__
3
4 #include "InputPort.hxx"
5 #include <string>
6
7 namespace YACS
8 {
9   namespace ENGINE
10   {
11     class AnyInputPort : public InputPort
12     {
13     public:
14       AnyInputPort(const std::string& name, Node *node, TypeCode* type);
15       AnyInputPort(const  AnyInputPort& other, Node *newHelder);
16       virtual ~AnyInputPort();
17       void exSaveInit();
18       void exRestoreInit();
19       Any *getValue() const { return _value; }
20       int getIntValue() const { return _value->getIntValue(); }
21       void put(Any *data);
22       void *get() const;
23       virtual bool isEmpty();
24       void put(const void *data) throw(ConversionException);
25       InputPort *clone(Node *newHelder) const;
26       std::string dump();
27     protected:
28       Any *_value;
29     };
30   }
31 }
32
33 #endif