SObjectizer  5.5
Public Member Functions | Private Attributes | List of all members
so_5::adhoc_agent_definition_proxy_t Class Reference

A proxy for process of ad-hoc agent definition. More...

#include <adhoc_agent_wrapper.hpp>

Public Member Functions

 adhoc_agent_definition_proxy_t (adhoc_agent_wrapper_t *agent)
 
template<class Lambda >
adhoc_agent_definition_proxy_tevent (const mbox_t &mbox, Lambda lambda, thread_safety_t thread_safety=not_thread_safe)
 
template<class Lambda >
adhoc_agent_definition_proxy_tevent (const adhoc_agent_definition_proxy_t &self, Lambda lambda, thread_safety_t thread_safety=not_thread_safe)
 Subscription of event- or service-handler to message. More...
 
template<class Message , class Lambda >
adhoc_agent_definition_proxy_tevent (const mbox_t &mbox, signal_indicator_t< Message >(*indicator)(), Lambda lambda, thread_safety_t thread_safety=not_thread_safe)
 
template<class Signal , typename... Args>
adhoc_agent_definition_proxy_tevent (const mbox_t &mbox, Args &&... args)
 Subscription of event- or service-handler to signal. More...
 
template<class Signal , typename... Args>
adhoc_agent_definition_proxy_tevent (const adhoc_agent_definition_proxy_t &self, Args &&... args)
 Subscription of event- or service-handler to signal. More...
 
adhoc_agent_definition_proxy_ton_start (std::function< void() > handler)
 
adhoc_agent_definition_proxy_ton_finish (std::function< void() > handler)
 
adhoc_agent_definition_proxy_texception_reaction (exception_reaction_t reaction)
 
const mbox_tdirect_mbox () const
 Access to agent's direct mbox. More...
 
environment_tenvironment () const
 Access to agent's environment. More...
 

Private Attributes

adhoc_agent_wrapper_tm_agent
 

Detailed Description

A proxy for process of ad-hoc agent definition.

Since
v.5.3.0

Constructor & Destructor Documentation

◆ adhoc_agent_definition_proxy_t()

so_5::adhoc_agent_definition_proxy_t::adhoc_agent_definition_proxy_t ( adhoc_agent_wrapper_t agent)
inline

Member Function Documentation

◆ direct_mbox()

const mbox_t& so_5::adhoc_agent_definition_proxy_t::direct_mbox ( ) const
inline

Access to agent's direct mbox.

Since
v.5.5.3
Usage sample:
auto coop = env.create_coop();
auto adhoc_agent = coop.define_agent();
adhoc_agent.event( adhoc_agent.direct_mbox(), []{ ... } );
Examples:
so_5/producer_consumer_mchain/main.cpp, and so_5/svc/exceptions/main.cpp.

◆ environment()

environment_t& so_5::adhoc_agent_definition_proxy_t::environment ( ) const
inline

Access to agent's environment.

Since
v.5.5.8

◆ event() [1/5]

template<class Lambda >
adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::event ( const mbox_t mbox,
Lambda  lambda,
thread_safety_t  thread_safety = not_thread_safe 
)
inline

◆ event() [2/5]

template<class Lambda >
adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::event ( const adhoc_agent_definition_proxy_t self,
Lambda  lambda,
thread_safety_t  thread_safety = not_thread_safe 
)
inline

Subscription of event- or service-handler to message.

Since
v.5.5.8
Note
Uses direct mbox of the ad-hoc agent.
Usage sample:
so_5::coop_unique_ptr_t coop = env.create_coop(...);
auto a = coop->define_agent();
a.event< msg_my_signal >( a, [=] { ... } );

◆ event() [3/5]

template<class Message , class Lambda >
adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::event ( const mbox_t mbox,
signal_indicator_t< Message >(*)()  indicator,
Lambda  lambda,
thread_safety_t  thread_safety = not_thread_safe 
)
inline

Subscription of event- or service-handler to signal.

◆ event() [4/5]

template<class Signal , typename... Args>
adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::event ( const mbox_t mbox,
Args &&...  args 
)
inline

Subscription of event- or service-handler to signal.

Since
v.5.5.1
Usage sample:
so_5::coop_unique_ptr_t coop = env.create_coop(...);
coop->define_agent()
.event< msg_my_signal >( mbox, [=] { ... } );

◆ event() [5/5]

template<class Signal , typename... Args>
adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::event ( const adhoc_agent_definition_proxy_t self,
Args &&...  args 
)
inline

Subscription of event- or service-handler to signal.

Since
v.5.5.8
Note
Uses direct mbox of the ad-hoc agent.
Usage sample:
so_5::coop_unique_ptr_t coop = env.create_coop(...);
auto a = coop->define_agent();
a.event< msg_my_signal >( a, [=] { ... } );

◆ exception_reaction()

adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::exception_reaction ( exception_reaction_t  reaction)
inline

Define reaction to non-handled exception.

◆ on_finish()

adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::on_finish ( std::function< void() >  handler)
inline

Define reaction to work finish.

◆ on_start()

adhoc_agent_definition_proxy_t& so_5::adhoc_agent_definition_proxy_t::on_start ( std::function< void() >  handler)
inline

Member Data Documentation

◆ m_agent

adhoc_agent_wrapper_t* so_5::adhoc_agent_definition_proxy_t::m_agent
private

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