STLdoc
STLdocumentation
|
#include <agents.h>
Public Types | |
typedef single_link_registry< ITarget< _Type > > | _Target_registry |
Public Types inherited from Concurrency::ISource< _Type > | |
typedef _Type | source_type |
A type alias for _Type . More... | |
Public Member Functions | |
_AnonymousOriginator () | |
virtual | ~_AnonymousOriginator () |
virtual void | unlink_target (ITarget< _Type > *) |
virtual void | unlink_targets () |
When overridden in a derived class, unlinks all target blocks from this ISource block. More... | |
virtual message< _Type > * | accept (runtime_object_identity _MsgId, ITarget< _Type > *_PTarget) |
virtual bool | reserve (runtime_object_identity, ITarget< _Type > *) |
virtual message< _Type > * | consume (runtime_object_identity, ITarget< _Type > *) |
virtual void | release (runtime_object_identity, ITarget< _Type > *) |
virtual void | acquire_ref (_Inout_ ITarget< _Type > *) |
When overridden in a derived class, acquires a reference count on this ISource block, to prevent deletion. More... | |
virtual void | release_ref (_Inout_ ITarget< _Type > *) |
When overridden in a derived class, releases a reference count on this ISource block. More... | |
Public Member Functions inherited from Concurrency::ISource< _Type > | |
virtual | ~ISource () |
Destroys the ISource object. More... | |
virtual void | link_target (_Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, links a target block to this ISource block. More... | |
virtual void | unlink_target (_Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, unlinks a target block from this ISource block, if found to be previously linked. More... | |
virtual message< _Type > * | accept (runtime_object_identity _MsgId, _Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, accepts a message that was offered by this ISource block, transferring ownership to the caller. More... | |
virtual bool | reserve (runtime_object_identity _MsgId, _Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, reserves a message previously offered by this ISource block. More... | |
virtual message< _Type > * | consume (runtime_object_identity _MsgId, _Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, consumes a message previously offered by this ISource block and successfully reserved by the target, transferring ownership to the caller. More... | |
virtual void | release (runtime_object_identity _MsgId, _Inout_ ITarget< _Type > *_PTarget)=0 |
When overridden in a derived class, releases a previous successful message reservation. More... | |
Private Member Functions | |
bool | _internal_send (ITarget< _Type > *_PTarget, _Type const &_Value) |
bool | _internal_asend (ITarget< _Type > *_PTarget, _Type const &_Value) |
virtual void | link_target (ITarget< _Type > *) |
Private Attributes | |
message< _Type > * | _M_pMessage |
ITarget< _Type > * | _M_pTarget |
Friends | |
class | _Originator |
Additional Inherited Members | |
Protected Member Functions inherited from Concurrency::ISource< _Type > | |
void | _Invoke_link_source (ITarget< _Type > *_PLinkFrom) |
Links this source to a target. More... | |
void | _Invoke_unlink_source (ITarget< _Type > *_PUnlinkFrom) |
Unlinks this source from a target. More... | |
typedef single_link_registry<ITarget<_Type> > Concurrency::details::_AnonymousOriginator< _Type >::_Target_registry |
|
inline |
|
inlinevirtual |
|
inlineprivate |
|
inlineprivate |
|
inlinevirtual |
|
inlinevirtual |
When overridden in a derived class, acquires a reference count on this ISource
block, to prevent deletion.
_PTarget | A pointer to the target block that is calling this method. |
This method is called by an ITarget
object that is being linked to this source during the link_target
method.
Implements Concurrency::ISource< _Type >.
|
inlinevirtual |
|
inlineprivatevirtual |
|
inlinevirtual |
|
inlinevirtual |
When overridden in a derived class, releases a reference count on this ISource
block.
_PTarget | A pointer to the target block that is calling this method. |
This method is called by an ITarget
object that is being unlinked from this source. The source block is allowed to release any resources reserved for the target block.
Implements Concurrency::ISource< _Type >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
When overridden in a derived class, unlinks all target blocks from this ISource
block.
Implements Concurrency::ISource< _Type >.
|
friend |
|
private |
|
private |