[asterisk-commits] mmichelson: branch group/CCSS r225354 - /team/group/CCSS/main/ccss.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Oct 22 10:57:21 CDT 2009
Author: mmichelson
Date: Thu Oct 22 10:57:18 2009
New Revision: 225354
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=225354
Log:
Mark spots where manager events should go.
Modified:
team/group/CCSS/main/ccss.c
Modified: team/group/CCSS/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=225354&r1=225353&r2=225354
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Thu Oct 22 10:57:18 2009
@@ -2293,6 +2293,7 @@
}
ast_log(LOG_NOTICE, "Started the offer timer for the agent!\n");
core_instance->current_state = args->state;
+ /* XXX MANAGER */
break;
case CC_CALLER_REQUESTED:
/* An English translation of this is that the only valid state change here is either if the current
@@ -2315,6 +2316,7 @@
cc_monitor_tree_init(args->core_id);
/* It doesn't matter what service we state for the root monitor, so we just use AST_CC_NONE */
core_instance->monitor->callbacks->request_cc(core_instance->monitor, core_instance->core_id, NULL);
+ /* XXX MANAGER */
break;
case CC_ACTIVE:
/* Either
@@ -2325,10 +2327,12 @@
if (core_instance->current_state == CC_CALLER_REQUESTED) {
core_instance->current_state = args->state;
core_instance->agent->callbacks->ack(core_instance->agent);
+ /* XXX MANAGER */
} else if (core_instance->current_state == CC_CALLER_BUSY) {
core_instance->current_state = args->state;
core_instance->agent->callbacks->stop_monitoring(core_instance->agent);
core_instance->monitor->callbacks->unsuspend(core_instance->monitor, core_instance->core_id);
+ /* XXX MANAGER */
} else {
ast_log(LOG_NOTICE, "Invalid state change request. Cannot go from %d to %d\n",
core_instance->current_state, args->state);
@@ -2343,6 +2347,7 @@
break;
}
core_instance->current_state = args->state;
+ /* XXX MANAGER */
if (core_instance->agent->callbacks->status_request(core_instance->agent) == AST_DEVICE_NOT_INUSE) {
ast_log(LOG_NOTICE, "Both parties are ready, let's try that recall\n");
cc_request_state_change(CC_RECALLING, core_instance->core_id, "Both parties are available\n");
@@ -2363,6 +2368,7 @@
core_instance->current_state = args->state;
core_instance->monitor->callbacks->suspend(core_instance->monitor, core_instance->core_id);
core_instance->agent->callbacks->start_monitoring(core_instance->agent);
+ /* XXX MANAGER */
break;
case CC_RECALLING:
/* Both caller and callee are available, call agent's recall callback
@@ -2375,6 +2381,7 @@
core_instance->current_state = args->state;
core_instance->monitor->callbacks->cancel_available_timer(core_instance->monitor, core_instance->core_id, NULL);
core_instance->agent->callbacks->recall(core_instance->agent);
+ /* XXX MANAGER */
break;
case CC_COMPLETE:
/* Recall has made progress, call agent and monitor destructor functions
@@ -2385,11 +2392,13 @@
break;
}
core_instance->current_state = args->state;
+ /* XXX MANAGER */
ao2_t_unlink(cc_core_instances, core_instance, "Unlink core instance since CC recall has completed");
break;
case CC_FAILED:
/* Something along the way failed, call agent and monitor destructor functions
*/
+ /* XXX MANAGER */
ao2_t_unlink(cc_core_instances, core_instance, "Unlink core instance since CC failed");
break;
default:
More information about the asterisk-commits
mailing list