X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2FCppComponent.hxx;h=bce106eda5bdb0ac63c04b0400f9726eb6877c10;hb=255150e4eec79294bbd06c7c464f309b4a264960;hp=cd65241e60e1f2a92defee0e91289703f3898bc6;hpb=c81be9b5e74b26e207bd6efd0ccf68418ac536a3;p=modules%2Fyacs.git diff --git a/src/runtime/CppComponent.hxx b/src/runtime/CppComponent.hxx index cd65241e6..bce106eda 100644 --- a/src/runtime/CppComponent.hxx +++ b/src/runtime/CppComponent.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2006-2012 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 // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,6 +22,7 @@ #include #include "ComponentInstance.hxx" +#include "YACSRuntimeSALOMEExport.hxx" namespace YACS { @@ -40,7 +41,7 @@ namespace YACS typedef void (*TerminateFunction)(void **); typedef void (*PingFunction) (); - class CppComponent : public ComponentInstance { + class YACSRUNTIMESALOME_EXPORT CppComponent : public ComponentInstance { public: CppComponent(const std::string & name); @@ -51,15 +52,17 @@ namespace YACS virtual ~CppComponent(); void run(const char * service, int nbIn, int nbOut, - Any ** argIn, Any ** argOut) throw (YACS::Exception); + Any ** argIn, Any ** argOut); static const char KIND[]; virtual std::string getKind() const; - virtual void load(); - virtual void unload(); - virtual bool isLoaded(); + virtual std::string getKindForNode() const; + virtual void load(Task *askingNode); + virtual void unload(Task *askingNode); + virtual bool isLoaded(Task *askingNode) const; virtual ServiceNode* createNode(const std::string& name); virtual YACS::ENGINE::ComponentInstance* clone() const; + virtual YACS::ENGINE::ComponentInstance* cloneAlways() const; protected: