#include <ComponentRelease.hh>
Public Member Functions | |
virtual | ~ComponentRelease () |
virtual void | releaseServices (Services *svc)=0 throw (Exception) |
Shuts down a component presence in the calling framework. |
virtual void neo::cca::ComponentRelease::releaseServices | ( | Services * | svc | ) | throw (Exception) [pure virtual] |
Shuts down a component presence in the calling framework.
svc | the component instance's handle on the framework world. Contracts concerning svc and setServices: |
The argument svc will never be nil/null. The argument svc will always be the same as that received in setServices.
During this call the component should release any interfaces acquired by getPort().
During this call the component should reset to nil any stored reference to svc.
After this call, the component instance will be removed from the framework. If the component instance was created by the framework, it will be destroyed, not recycled, The behavior of any port references obtained from this component instance and stored elsewhere becomes undefined.
Notes for the component implementor: 1) The component writer may perform blocking activities within releaseServices, such as waiting for remote computations to shutdown. 2) It is good practice during releaseServices for the component writer to remove or unregister all the ports it defined.