-// Copyright (C) 2006-2015 CEA/DEN, EDF R&D
+// Copyright (C) 2006-2023 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
void edInit(Any *value);
void edInit(const std::string& impl,const void* value);
virtual void edRemoveManInit();
- virtual void checkBasicConsistency() const throw(Exception);
+ virtual void checkBasicConsistency() const ;
virtual void exInit(bool start);
virtual void exSaveInit() = 0;
virtual void exRestoreInit() = 0;
virtual bool isEmpty();
virtual void *get() const = 0;
- virtual void put(const void *data) throw(ConversionException) = 0;
+ virtual void releaseData() = 0;
+ virtual void put(const void *data) = 0;
virtual std::string dump();
+ virtual std::string getHumanRepr();
virtual void setStringRef(std::string strRef);
virtual std::string typeName() {return "YACS__ENGINE__InputPort";}
bool canBeNull() const;
protected:
InputPort(const InputPort& other, Node *newHelder);
InputPort(const std::string& name, Node *node, TypeCode* type, bool canBeNull = false);
+ void releaseDataUnsafe();
protected:
Any *_initValue;
std::string _stringRef;
ProxyPort(InputPort* p);
~ProxyPort();
- void edRemoveAllLinksLinkedWithMe() throw(Exception);
+ void edRemoveAllLinksLinkedWithMe() ;
InputPort *clone(Node *newHelder) const;
- void edNotifyReferencedBy(OutPort *fromPort);
+ void edNotifyReferencedBy(OutPort *fromPort, bool isLoopProof = true) override;
void edNotifyDereferencedBy(OutPort *fromPort);
std::set<OutPort *> edSetOutPort() const;
#ifdef NOCOVARIANT
InputPort *getPublicRepresentant();
#endif
void *get() const;
- virtual void put(const void *data) throw(ConversionException) ;
+ virtual void put(const void *data) ;
+ void releaseData() override;
int edGetNumberOfLinks() const;
bool isIntermediate() const { return true; }
void exRestoreInit();