agent_class :'aag_3::smpp_smsc::a_channel_t' do |c|
c.super_class :'so_sysconf_2::agent_with_fatal_state_t'
c.msg :msg_bind_resp_timeout, own_message( :checker => true )
c.msg :msg_check_channel_activity, own_message
c.msg :msg_shutdown, own_message
c.msg :msg_unbind_resp_timeout, own_message( :checker => true )
c.msg :msg_reconnect, own_message
c.msg :msg_tell_state, own_message
c.msg :msg_operation_timer, own_message
c.msg :msg_imit_deliver,
own_message( :checker => true,
:fields => fields(
:m_count => UINT,
:m_sequence_number => UINT,
:m_source_addr => STRING,
:m_dest_addr => STRING,
:m_data => STRING,
:m_dcs => UCHAR,
:m_esm_class => UCHAR,
:m_protocol_id => UCHAR ) )
c.msg :msg_imit_delivery_receipt,
own_message( :checker => true,
:fields => fields(
:m_short_message => STRING,
:m_message_id => STRING,
:m_message_state => UCHAR,
:m_network_error_code => STRING ) )
c.msg :msg_imitation_mode,
own_message( :checker => true,
:fields => fields(
:m_submit_sm_resp_command_status => UINT,
:m_message_id => STRING ) )
c.msg :msg_query_state, own_mbapi_message
c.msg :msg_send, own_mbapi_message
c.msg :msg_update_gemont_data, own_message
c.event :evt_start
c.event :evt_client_connected, of_type( :'so_4::rt::comm::msg_client_connected' )
c.event :evt_client_disconnected, of_type( :'so_4::rt::comm::msg_client_disconnected' )
c.event :evt_bind_resp_timeout, of_msg( :msg_bind_resp_timeout )
c.event :evt_connect_fail, of_type( :'so_4::rt::comm::msg_fail' )
c.event :evt_raw_package, of_type( :'so_4::rt::comm::msg_raw_package' )
c.event :evt_check_channel_activity
c.event :evt_shutdown_when_unbound
c.event :evt_shutdown_when_bound
c.event :evt_disconnection_when_wait_unbind
c.event :evt_unbind_resp_timeout, of_msg( :msg_unbind_resp_timeout )
c.event :evt_query_state_when_unbound, of_msg( :msg_query_state )
c.event :evt_tell_state_when_unbound
c.event :evt_query_state_when_bound, of_msg( :msg_query_state )
c.event :evt_tell_state_when_bound
c.event :evt_send, of_msg( :msg_send )
c.event :evt_send_when_unbound, of_msg( :msg_send )
c.event :evt_reconnect
c.event :evt_operation_timer
c.event :evt_imit_deliver, of_msg( :msg_imit_deliver )
c.event :evt_imit_delivery_receipt, of_msg( :msg_imit_delivery_receipt )
c.event :evt_imitation_mode_when_closed, of_msg( :msg_imitation_mode )
c.event :evt_imitation_mode_when_bound, of_msg( :msg_imitation_mode )
c.event :evt_send_when_imitation_mode, of_msg( :msg_send )
c.event :evt_update_gemont_data
c.initial_state :st_closed
c.state :st_closed do |st|
st.enabled :evt_start,
:evt_client_connected,
:evt_connect_fail,
:evt_shutdown_when_unbound,
:evt_query_state_when_unbound,
:evt_tell_state_when_unbound,
:evt_send_when_unbound,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_closed,
:evt_update_gemont_data
st.disabled :evt_client_disconnected,
:evt_bind_resp_timeout,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_bound,
:evt_disconnection_when_wait_unbind,
:evt_unbind_resp_timeout,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_reconnect,
:evt_operation_timer,
:evt_imitation_mode_when_bound,
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_closed
SOL4_STATE_FINISH()
c.state :st_open do |st|
st.enabled :evt_client_disconnected,
:evt_bind_resp_timeout,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_unbound,
:evt_query_state_when_unbound,
:evt_tell_state_when_unbound,
:evt_send_when_unbound,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_update_gemont_data
st.disabled :evt_start,
:evt_client_connected,
:evt_connect_fail,
:evt_shutdown_when_bound,
:evt_disconnection_when_wait_unbind,
:evt_unbind_resp_timeout,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_reconnect,
:evt_operation_timer,
:evt_imitation_mode_when_closed,
:evt_imitation_mode_when_bound,
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_open
SOL4_STATE_FINISH()
c.state :st_bound_tx do |st|
st.enabled :evt_client_disconnected,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_bound,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_reconnect,
:evt_operation_timer,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_bound,
:evt_update_gemont_data
st.disabled :evt_start,
:evt_client_connected,
:evt_bind_resp_timeout,
:evt_connect_fail,
:evt_shutdown_when_unbound,
:evt_query_state_when_unbound,
:evt_tell_state_when_unbound,
:evt_send_when_unbound,
:evt_imitation_mode_when_closed,
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_bound_tx
end
c.state :st_bound_rx do |st|
st.enabled :evt_client_disconnected,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_bound,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_reconnect,
:evt_operation_timer,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_bound,
:evt_update_gemont_data
st.disabled :evt_start
:evt_client_connected
:evt_bind_resp_timeout
:evt_connect_fail
:evt_shutdown_when_unbound
:evt_disconnection_when_wait_unbind
:evt_unbind_resp_timeout
:evt_query_state_when_unbound
:evt_tell_state_when_unbound
:evt_send_when_unbound
:evt_imitation_mode_when_closed
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_bound_rx
end
c.state :st_bound_trx do |st|
st.enabled :evt_client_disconnected,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_bound,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_reconnect,
:evt_operation_timer,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_bound,
:evt_update_gemont_data
st.disabled :evt_start,
:evt_client_connected,
:evt_bind_resp_timeout,
:evt_connect_fail,
:evt_shutdown_when_unbound,
:evt_query_state_when_unbound,
:evt_tell_state_when_unbound,
:evt_send_when_unbound,
:evt_imitation_mode_when_closed,
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_bound_trx
end
c.state :st_wait_unbind_resp do |st|
st.enabled :evt_disconnection_when_wait_unbind,
:evt_unbind_resp_timeout,
:evt_raw_package,
:evt_send_when_unbound,
:evt_tell_state_when_unbound,
:evt_update_gemont_data
st.disabled :evt_start,
:evt_client_connected,
:evt_client_disconnected,
:evt_bind_resp_timeout,
:evt_connect_fail,
:evt_check_channel_activity,
:evt_shutdown_when_unbound,
:evt_shutdown_when_bound,
:evt_query_state_when_unbound,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_send_when_unbound,
:evt_reconnect,
:evt_operation_timer,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_closed,
:evt_imitation_mode_when_bound,
:evt_send_when_imitation_mode
st.on_enter :on_enter_st_wait_unbind_resp
end
c.state :st_imitation_mode do |st|
st.enabled :evt_shutdown_when_unbound,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_send_when_imitation_mode,
:evt_update_gemont_data,
:evt_imitation_mode_when_closed
st.disabled :evt_start
:evt_client_connected
:evt_client_disconnected
:evt_bind_resp_timeout
:evt_connect_fail
:evt_raw_package
:evt_check_channel_activity
:evt_shutdown_when_bound
:evt_disconnection_when_wait_unbind
:evt_unbind_resp_timeout
:evt_query_state_when_unbound
:evt_tell_state_when_unbound
:evt_query_state_when_bound
:evt_tell_state_when_bound
:evt_send
:evt_send_when_unbound
:evt_reconnect
:evt_operation_timer
:evt_imitation_mode_when_bound
end
c.state :st_shutdown do |st|
st.disabled :evt_start,
:evt_client_connected,
:evt_client_disconnected,
:evt_bind_resp_timeout,
:evt_connect_fail,
:evt_raw_package,
:evt_check_channel_activity,
:evt_shutdown_when_unbound,
:evt_shutdown_when_bound,
:evt_disconnection_when_wait_unbind,
:evt_unbind_resp_timeout,
:evt_query_state_when_unbound,
:evt_tell_state_when_unbound,
:evt_query_state_when_bound,
:evt_tell_state_when_bound,
:evt_send,
:evt_send_when_unbound,
:evt_reconnect,
:evt_operation_timer,
:evt_imit_deliver,
:evt_imit_delivery_receipt,
:evt_imitation_mode_when_closed,
:evt_imitation_mode_when_bound,
:evt_send_when_imitation_mode,
:evt_update_gemont_data
st.on_enter :on_enter_st_shutdown
end
end
# vim:ts=2:sts=2:sw=2:expandtab