Public Member Functions | Private Member Functions | Private Attributes | Friends

maci::ComponentReleaseCallback Class Reference

#include <maciContainerServices.h>

Collaboration diagram for maci::ComponentReleaseCallback:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ComponentReleaseCallback ()
virtual ~ComponentReleaseCallback ()
virtual void errorNoPermission (std::string message)
virtual void componentReleased (maciErrType::ComponentDeactivationUncleanEx deactivationUncleanEx)
virtual void componentReleased ()
virtual void errorComponentReleaseFailed (maciErrType::ComponentDeactivationUncleanEx deactivationFailureEx)
bool awaitComponentRelease (unsigned long timeout)

Private Member Functions

void callOver ()

Private Attributes

MyCBlongImpl myCBlong
ACE_Mutex mutex

Friends

class MACIContainerServices
class MyCBlongImpl

Constructor & Destructor Documentation

maci::ComponentReleaseCallback::ComponentReleaseCallback (  ) 
virtual maci::ComponentReleaseCallback::~ComponentReleaseCallback (  )  [virtual]

Member Function Documentation

bool maci::ComponentReleaseCallback::awaitComponentRelease ( unsigned long  timeout  ) 

This is not a callback method but a convenience method to "park" the calling thread until

  • The component has been released, or
  • the given timeout has struck, or
  • component release failed with an exception.

A client that only wants to wait for component release without caring about the details does not have to subclass ComponentReleaseCallback, but can simply call awaitComponentRelease. The client may in addition override the callback methods though.

Parameters:
timeout The maximum time to wait for the component release to succeed in microseconds (us).
Returns:
true if the component was released properly, false if the call returns because of a timeout.
void maci::ComponentReleaseCallback::callOver (  )  [private]
virtual void maci::ComponentReleaseCallback::componentReleased ( maciErrType::ComponentDeactivationUncleanEx  deactivationUncleanEx  )  [virtual]

Called when the component reference has been successfully released.

Parameters:
deactivationUncleanEx If the component was de-activated with problems, this exception will be forwarded; otherwise null for clean deactivation.
virtual void maci::ComponentReleaseCallback::componentReleased (  )  [virtual]
virtual void maci::ComponentReleaseCallback::errorComponentReleaseFailed ( maciErrType::ComponentDeactivationUncleanEx  deactivationFailureEx  )  [virtual]

Called when the target component deactivation failed.

Parameters:
deactivationFailureEx to provide details about the failure.
virtual void maci::ComponentReleaseCallback::errorNoPermission ( std::string  message  )  [virtual]

Called when the client cannot legally release the component, e.g. because it no longer holds a reference to it.


Friends And Related Function Documentation

friend class MACIContainerServices [friend]
friend class MyCBlongImpl [friend]

Member Data Documentation


The documentation for this class was generated from the following file: