-// Copyright (C) 2006-2014 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
virtual ~Container();
#endif
public:
+ virtual std::string getKind() const = 0;
//Execution only methods
- virtual std::string getDiscreminantStrOfThis() const;
+ virtual std::string getDiscreminantStrOfThis(const Task *askingNode) const;
virtual bool isAlreadyStarted(const Task *askingNode) const = 0;
- virtual void start(const Task *askingNode) throw(Exception) = 0;
+ virtual void start(const Task *askingNode) = 0;
+ virtual void start(const Task *askingNode,
+ const std::string& resource_name,
+ const std::string& container_name);
+ virtual bool canAcceptImposedResource();
+ virtual bool isUsingPythonCache();
+ virtual void usePythonCache(bool v);
virtual std::string getPlacementId(const Task *askingNode) const = 0;
virtual std::string getFullPlacementId(const Task *askingNode) const = 0;
//Edition only methods
+ virtual void setAttachOnCloningStatus(bool val) const;
virtual void attachOnCloning() const;
virtual void dettachOnCloning() const;
virtual bool isAttachedOnCloning() const;
virtual Container *clone() const = 0;
virtual Container *cloneAlways() const = 0;
virtual bool isSupportingRTODefNbOfComp() const;
- virtual void checkCapabilityToDealWith(const ComponentInstance *inst) const throw(Exception) = 0;
+ virtual void checkCapabilityToDealWith(const ComponentInstance *inst) const = 0;
virtual void setProperty(const std::string& name,const std::string& value) = 0;
virtual std::string getProperty(const std::string& name) const = 0;
virtual void clearProperties() = 0;
virtual std::map<std::string,std::string> getProperties() const = 0;
virtual std::map<std::string,std::string> getResourceProperties(const std::string& name) const = 0;
virtual void setProperties(const std::map<std::string,std::string>& properties);
- std::string getName() const { return _name; };
+ virtual std::string getName() const { return _name; }
//! \b WARNING ! name is used in edition to identify different containers, it is not the runtime name of the container
- void setName(std::string name) { _name = name; };
- void setProc(Proc* proc) { _proc = proc; };
- Proc* getProc() { return _proc; };
+ void setName(std::string name) { _name = name; }
+ void setProc(Proc* proc) { _proc = proc; }
+ Proc* getProc() { return _proc; }
virtual void shutdown(int level) = 0;
+ static const char KIND_ENTRY[];
+ static const char AOC_ENTRY[];
+ static const char USE_PYCACHE_PROPERTY[];
protected:
std::string _name;
mutable bool _isAttachedOnCloning;