diff options
author | Terry Wilson <twilson@digium.com> | 2012-03-13 18:20:34 +0000 |
---|---|---|
committer | Terry Wilson <twilson@digium.com> | 2012-03-13 18:20:34 +0000 |
commit | 786f5898d12d30c481b1d178bb80e5801dbf666f (patch) | |
tree | 2b5e07ed1b5fbd7aae1187f068eff498621878a2 /channels | |
parent | 73ec67e008ca6db76625bfc1f992fa726c948837 (diff) |
Finalize ast_channel opaquification
Review: https://reviewboard.asterisk.org/r/1786/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_agent.c | 18 | ||||
-rw-r--r-- | channels/chan_bridge.c | 4 | ||||
-rw-r--r-- | channels/chan_dahdi.c | 8 | ||||
-rw-r--r-- | channels/chan_local.c | 38 | ||||
-rw-r--r-- | channels/chan_phone.c | 2 | ||||
-rw-r--r-- | channels/chan_sip.c | 10 | ||||
-rw-r--r-- | channels/chan_unistim.c | 10 | ||||
-rw-r--r-- | channels/chan_vpb.cc | 4 | ||||
-rw-r--r-- | channels/sig_analog.c | 4 |
9 files changed, 49 insertions, 49 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 836154092..0c79a66de 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -601,7 +601,7 @@ static struct ast_frame *agent_read(struct ast_channel *ast) p->start = cur_time; } if (p->chan) { - ast_copy_flags(p->chan, ast, AST_FLAG_EXCEPTION); + ast_copy_flags(ast_channel_flags(p->chan), ast_channel_flags(ast), AST_FLAG_EXCEPTION); ast_channel_fdno_set(p->chan, (ast_channel_fdno(ast) == AST_AGENT_FD) ? AST_TIMING_FD : ast_channel_fdno(ast)); f = ast_read(p->chan); } else @@ -609,7 +609,7 @@ static struct ast_frame *agent_read(struct ast_channel *ast) if (!f) { /* If there's a channel, make it NULL */ if (p->chan) { - p->chan->_bridge = NULL; + ast_channel_internal_bridged_channel_set(p->chan, NULL); p->chan = NULL; ast_devstate_changed(AST_DEVICE_UNAVAILABLE, "Agent/%s", p->agent); p->acknowledged = 0; @@ -697,11 +697,11 @@ static struct ast_frame *agent_read(struct ast_channel *ast) } CLEANUP(ast,p); - if (p->chan && !p->chan->_bridge) { + if (p->chan && !ast_channel_internal_bridged_channel(p->chan)) { if (strcasecmp(ast_channel_tech(p->chan)->type, "Local")) { - p->chan->_bridge = ast; + ast_channel_internal_bridged_channel_set(p->chan, ast); if (p->chan) - ast_debug(1, "Bridge on '%s' being set to '%s' (3)\n", ast_channel_name(p->chan), ast_channel_name(p->chan->_bridge)); + ast_debug(1, "Bridge on '%s' being set to '%s' (3)\n", ast_channel_name(p->chan), ast_channel_name(ast_channel_internal_bridged_channel(p->chan))); } } ast_mutex_unlock(&p->lock); @@ -964,7 +964,7 @@ static int agent_hangup(struct ast_channel *ast) } else p->start = 0; if (p->chan) { - p->chan->_bridge = NULL; + ast_channel_internal_bridged_channel_set(p->chan, NULL); /* If they're dead, go ahead and hang up on the agent now */ if (p->dead) { ast_channel_lock(p->chan); @@ -1083,8 +1083,8 @@ static struct ast_channel *agent_bridgedchannel(struct ast_channel *chan, struct if (p) { if (chan == p->chan) - ret = bridge->_bridge; - else if (chan == bridge->_bridge) + ret = ast_channel_internal_bridged_channel(bridge); + else if (chan == ast_channel_internal_bridged_channel(bridge)) ret = p->chan; } @@ -1586,7 +1586,7 @@ static int action_agents(struct mansession *s, const struct message *m) if (p->chan) { loginChan = ast_strdupa(ast_channel_name(p->chan)); - if (owner && owner->_bridge) { + if (owner && ast_channel_internal_bridged_channel(owner)) { talkingto = S_COR(ast_channel_caller(p->chan)->id.number.valid, ast_channel_caller(p->chan)->id.number.str, "n/a"); if ((bridge = ast_bridged_channel(owner))) { diff --git a/channels/chan_bridge.c b/channels/chan_bridge.c index 3ec157601..1670cba65 100644 --- a/channels/chan_bridge.c +++ b/channels/chan_bridge.c @@ -121,12 +121,12 @@ static int bridge_call(struct ast_channel *ast, const char *dest, int timeout) struct bridge_pvt *p = ast_channel_tech_pvt(ast); /* If no bridge has been provided on the input channel, bail out */ - if (!ast->bridge) { + if (!ast_channel_internal_bridge(ast)) { return -1; } /* Impart the output channel upon the given bridge of the input channel */ - ast_bridge_impart(p->input->bridge, p->output, NULL, NULL, 0); + ast_bridge_impart(ast_channel_internal_bridge(p->input), p->output, NULL, NULL, 0); return 0; } diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 6751d0d0c..5dad53910 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -7741,7 +7741,7 @@ static int attempt_transfer(struct dahdi_pvt *p) } else { ast_debug(1, "Neither %s nor %s are in a bridge, nothing to transfer\n", ast_channel_name(p->subs[SUB_REAL].owner), ast_channel_name(p->subs[SUB_THREEWAY].owner)); - ast_channel_softhangup_internal_flag_set(p->subs[SUB_THREEWAY].owner, ast_channel_softhangup_internal_flag(p->subs[SUB_THREEWAY].owner) | AST_SOFTHANGUP_DEV); + ast_channel_softhangup_internal_flag_add(p->subs[SUB_THREEWAY].owner, AST_SOFTHANGUP_DEV); return -1; } return 0; @@ -9150,7 +9150,7 @@ static struct ast_frame *dahdi_read(struct ast_channel *ast) readbuf = ((unsigned char *)p->subs[idx].buffer) + AST_FRIENDLY_OFFSET; CHECK_BLOCKING(ast); res = read(p->subs[idx].dfd, readbuf, p->subs[idx].linear ? READ_SIZE * 2 : READ_SIZE); - ast_clear_flag(ast, AST_FLAG_BLOCKING); + ast_clear_flag(ast_channel_flags(ast), AST_FLAG_BLOCKING); /* Check for hangup */ if (res < 0) { f = NULL; @@ -10549,7 +10549,7 @@ static void *analog_ss_thread(void *data) * emulation. The DTMF digits can come so fast that emulation * can drop some of them. */ - ast_set_flag(chan, AST_FLAG_END_DTMF_ONLY); + ast_set_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY); res = 4000;/* This is a typical OFF time between rings. */ for (;;) { struct ast_frame *f; @@ -10580,7 +10580,7 @@ static void *analog_ss_thread(void *data) ast_channel_state(chan) == AST_STATE_RINGING) break; /* Got ring */ } - ast_clear_flag(chan, AST_FLAG_END_DTMF_ONLY); + ast_clear_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY); dtmfbuf[k] = '\0'; dahdi_setlinear(p->subs[idx].dfd, p->subs[idx].linear); /* Got cid and ring. */ diff --git a/channels/chan_local.c b/channels/chan_local.c index c6780d223..c0657c97b 100644 --- a/channels/chan_local.c +++ b/channels/chan_local.c @@ -339,8 +339,8 @@ static struct ast_channel *local_bridgedchannel(struct ast_channel *chan, struct /* Now see if the opposite channel is bridged to anything */ if (!bridged) { bridged = bridge; - } else if (bridged->_bridge) { - bridged = bridged->_bridge; + } else if (ast_channel_internal_bridged_channel(bridged)) { + bridged = ast_channel_internal_bridged_channel(bridged); } } @@ -502,7 +502,7 @@ static void check_bridge(struct local_pvt *p) /* since we had to unlock p to get the bridged chan, validate our * data once again and verify the bridged channel is what we expect * it to be in order to perform this optimization */ - if (ast_test_flag(p, LOCAL_ALREADY_MASQED) || !p->owner || !p->chan || (p->chan->_bridge != bridged_chan)) { + if (ast_test_flag(p, LOCAL_ALREADY_MASQED) || !p->owner || !p->chan || (ast_channel_internal_bridged_channel(p->chan) != bridged_chan)) { return; } @@ -511,24 +511,24 @@ static void check_bridge(struct local_pvt *p) frames on the owner channel (because they would be transferred to the outbound channel during the masquerade) */ - if (p->chan->_bridge /* Not ast_bridged_channel! Only go one step! */ && AST_LIST_EMPTY(ast_channel_readq(p->owner))) { + if (ast_channel_internal_bridged_channel(p->chan) /* Not ast_bridged_channel! Only go one step! */ && AST_LIST_EMPTY(ast_channel_readq(p->owner))) { /* Masquerade bridged channel into owner */ /* Lock everything we need, one by one, and give up if we can't get everything. Remember, we'll get another chance in just a little bit */ - if (!ast_channel_trylock(p->chan->_bridge)) { - if (!ast_check_hangup(p->chan->_bridge)) { + if (!ast_channel_trylock(ast_channel_internal_bridged_channel(p->chan))) { + if (!ast_check_hangup(ast_channel_internal_bridged_channel(p->chan))) { if (!ast_channel_trylock(p->owner)) { if (!ast_check_hangup(p->owner)) { - if (ast_channel_monitor(p->owner) && !ast_channel_monitor(p->chan->_bridge)) { + if (ast_channel_monitor(p->owner) && !ast_channel_monitor(ast_channel_internal_bridged_channel(p->chan))) { /* If a local channel is being monitored, we don't want a masquerade * to cause the monitor to go away. Since the masquerade swaps the monitors, * pre-swapping the monitors before the masquerade will ensure that the monitor * ends up where it is expected. */ tmp = ast_channel_monitor(p->owner); - ast_channel_monitor_set(p->owner, ast_channel_monitor(p->chan->_bridge)); - ast_channel_monitor_set(p->chan->_bridge, tmp); + ast_channel_monitor_set(p->owner, ast_channel_monitor(ast_channel_internal_bridged_channel(p->chan))); + ast_channel_monitor_set(ast_channel_internal_bridged_channel(p->chan), tmp); } if (ast_channel_audiohooks(p->chan)) { struct ast_audiohook_list *audiohooks_swapper; @@ -547,26 +547,26 @@ static void check_bridge(struct local_pvt *p) if (ast_channel_caller(p->owner)->id.name.valid || ast_channel_caller(p->owner)->id.number.valid || ast_channel_caller(p->owner)->id.subaddress.valid || ast_channel_caller(p->owner)->ani.name.valid || ast_channel_caller(p->owner)->ani.number.valid || ast_channel_caller(p->owner)->ani.subaddress.valid) { - SWAP(*ast_channel_caller(p->owner), *ast_channel_caller(p->chan->_bridge)); + SWAP(*ast_channel_caller(p->owner), *ast_channel_caller(ast_channel_internal_bridged_channel(p->chan))); } if (ast_channel_redirecting(p->owner)->from.name.valid || ast_channel_redirecting(p->owner)->from.number.valid || ast_channel_redirecting(p->owner)->from.subaddress.valid || ast_channel_redirecting(p->owner)->to.name.valid || ast_channel_redirecting(p->owner)->to.number.valid || ast_channel_redirecting(p->owner)->to.subaddress.valid) { - SWAP(*ast_channel_redirecting(p->owner), *ast_channel_redirecting(p->chan->_bridge)); + SWAP(*ast_channel_redirecting(p->owner), *ast_channel_redirecting(ast_channel_internal_bridged_channel(p->chan))); } if (ast_channel_dialed(p->owner)->number.str || ast_channel_dialed(p->owner)->subaddress.valid) { - SWAP(*ast_channel_dialed(p->owner), *ast_channel_dialed(p->chan->_bridge)); + SWAP(*ast_channel_dialed(p->owner), *ast_channel_dialed(ast_channel_internal_bridged_channel(p->chan))); } ast_app_group_update(p->chan, p->owner); - ast_channel_masquerade(p->owner, p->chan->_bridge); + ast_channel_masquerade(p->owner, ast_channel_internal_bridged_channel(p->chan)); ast_set_flag(p, LOCAL_ALREADY_MASQED); } ast_channel_unlock(p->owner); } } - ast_channel_unlock(p->chan->_bridge); + ast_channel_unlock(ast_channel_internal_bridged_channel(p->chan)); } } } @@ -629,7 +629,7 @@ static int local_fixup(struct ast_channel *oldchan, struct ast_channel *newchan) } /* Do not let a masquerade cause a Local channel to be bridged to itself! */ - if (!ast_check_hangup(newchan) && ((p->owner && p->owner->_bridge == p->chan) || (p->chan && p->chan->_bridge == p->owner))) { + if (!ast_check_hangup(newchan) && ((p->owner && ast_channel_internal_bridged_channel(p->owner) == p->chan) || (p->chan && ast_channel_internal_bridged_channel(p->chan) == p->owner))) { ast_log(LOG_WARNING, "You can not bridge a Local channel to itself!\n"); ao2_unlock(p); ast_queue_hangup(newchan); @@ -859,8 +859,8 @@ static int local_call(struct ast_channel *ast, const char *dest, int timeout) ast_channel_cc_params_init(chan, ast_channel_get_cc_config_params(owner)); /* Make sure we inherit the ANSWERED_ELSEWHERE flag if it's set on the queue/dial call request in the dialplan */ - if (ast_test_flag(ast, AST_FLAG_ANSWERED_ELSEWHERE)) { - ast_set_flag(chan, AST_FLAG_ANSWERED_ELSEWHERE); + if (ast_test_flag(ast_channel_flags(ast), AST_FLAG_ANSWERED_ELSEWHERE)) { + ast_set_flag(ast_channel_flags(chan), AST_FLAG_ANSWERED_ELSEWHERE); } /* copy the channel variables from the incoming channel to the outgoing channel */ @@ -980,8 +980,8 @@ static int local_hangup(struct ast_channel *ast) isoutbound = IS_OUTBOUND(ast, p); /* just comparing pointer of ast */ - if (p->chan && ast_test_flag(ast, AST_FLAG_ANSWERED_ELSEWHERE)) { - ast_set_flag(p->chan, AST_FLAG_ANSWERED_ELSEWHERE); + if (p->chan && ast_test_flag(ast_channel_flags(ast), AST_FLAG_ANSWERED_ELSEWHERE)) { + ast_set_flag(ast_channel_flags(p->chan), AST_FLAG_ANSWERED_ELSEWHERE); ast_debug(2, "This local call has the ANSWERED_ELSEWHERE flag set.\n"); } diff --git a/channels/chan_phone.c b/channels/chan_phone.c index f7e7c335e..a781b232a 100644 --- a/channels/chan_phone.c +++ b/channels/chan_phone.c @@ -563,7 +563,7 @@ static struct ast_frame *phone_read(struct ast_channel *ast) /* Try to read some data... */ CHECK_BLOCKING(ast); res = read(p->fd, p->buf, PHONE_MAX_BUF); - ast_clear_flag(ast, AST_FLAG_BLOCKING); + ast_clear_flag(ast_channel_flags(ast), AST_FLAG_BLOCKING); if (res < 0) { #if 0 if (errno == EAGAIN) { diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b955566a8..3aa2bf262 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6328,7 +6328,7 @@ static int sip_hangup(struct ast_channel *ast) ast_debug(1, "Asked to hangup channel that was not connected\n"); return 0; } - if (ast_test_flag(ast, AST_FLAG_ANSWERED_ELSEWHERE) || ast_channel_hangupcause(ast) == AST_CAUSE_ANSWERED_ELSEWHERE) { + if (ast_test_flag(ast_channel_flags(ast), AST_FLAG_ANSWERED_ELSEWHERE) || ast_channel_hangupcause(ast) == AST_CAUSE_ANSWERED_ELSEWHERE) { ast_debug(1, "This call was answered elsewhere"); if (ast_channel_hangupcause(ast) == AST_CAUSE_ANSWERED_ELSEWHERE) { ast_debug(1, "####### It's the cause code, buddy. The cause code!!!\n"); @@ -6358,7 +6358,7 @@ static int sip_hangup(struct ast_channel *ast) return 0; } - if (ast_test_flag(ast, AST_FLAG_ZOMBIE)) { + if (ast_test_flag(ast_channel_flags(ast), AST_FLAG_ZOMBIE)) { if (p->refer) ast_debug(1, "SIP Transfer: Hanging up Zombie channel %s after transfer ... Call-ID: %s\n", ast_channel_name(ast), p->callid); else @@ -6690,9 +6690,9 @@ static int sip_fixup(struct ast_channel *oldchan, struct ast_channel *newchan) int ret = -1; struct sip_pvt *p; - if (newchan && ast_test_flag(newchan, AST_FLAG_ZOMBIE)) + if (newchan && ast_test_flag(ast_channel_flags(newchan), AST_FLAG_ZOMBIE)) ast_debug(1, "New channel is zombie\n"); - if (oldchan && ast_test_flag(oldchan, AST_FLAG_ZOMBIE)) + if (oldchan && ast_test_flag(ast_channel_flags(oldchan), AST_FLAG_ZOMBIE)) ast_debug(1, "Old channel is zombie\n"); if (!newchan || !ast_channel_tech_pvt(newchan)) { @@ -22415,7 +22415,7 @@ static int sip_pickup(struct ast_channel *chan) static void ast_quiet_chan(struct ast_channel *chan) { if (chan && ast_channel_state(chan) == AST_STATE_UP) { - if (ast_test_flag(chan, AST_FLAG_MOH)) + if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_MOH)) ast_moh_stop(chan); else if (ast_channel_generatordata(chan)) ast_deactivate_generator(chan); diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 48fde426b..f13105865 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -2306,7 +2306,7 @@ static int write_history(struct unistimsession *pte, char way, char ismissed) static void unistim_quiet_chan(struct ast_channel *chan) { if (chan && ast_channel_state(chan) == AST_STATE_UP) { - if (ast_test_flag(chan, AST_FLAG_MOH)) { + if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_MOH)) { ast_moh_stop(chan); } else if (ast_channel_generatordata(chan)) { ast_deactivate_generator(chan); @@ -2959,11 +2959,11 @@ static void swap_subs(struct unistim_subchannel *a, struct unistim_subchannel *b /* Step 1 : Music On Hold for peer, Dialing screen for us */ static void transfer_call_step1(struct unistimsession *pte) { - struct unistim_subchannel *sub, *sub_trans; + struct unistim_subchannel *sub /*, *sub_trans */; struct unistim_device *d = pte->device; sub = get_sub(d, SUB_REAL); - sub_trans = get_sub(d, SUB_THREEWAY); + /* sub_trans = get_sub(d, SUB_THREEWAY); */ if (!sub || !sub->owner) { ast_log(LOG_WARNING, "Unable to find subchannel for music on hold\n"); @@ -4856,7 +4856,7 @@ static int unistim_hangup(struct ast_channel *ast) refresh_all_favorite(s); /* Update favicons in case of DND keys */ if (s->state == STATE_RINGING && sub->subtype == SUB_RING) { send_no_ring(s); - if (!ast_test_flag(ast, AST_FLAG_ANSWERED_ELSEWHERE) && ast_channel_hangupcause(ast) != AST_CAUSE_ANSWERED_ELSEWHERE) { + if (!ast_test_flag(ast_channel_flags(ast), AST_FLAG_ANSWERED_ELSEWHERE) && ast_channel_hangupcause(ast) != AST_CAUSE_ANSWERED_ELSEWHERE) { d->missed_call++; write_history(s, 'i', 1); } @@ -5872,7 +5872,7 @@ static char *unistim_show_info(struct ast_cli_entry *e, int cmd, struct ast_cli_ if (!sub->owner) { tmp = (void *) -42; } else { - tmp = sub->owner->_bridge; + tmp = ast_channel_internal_bridged_channel(sub->owner); } ast_cli(a->fd, "-->subtype=%s chan=%p rtp=%p bridge=%p line=%p alreadygone=%d softkey=%d\n", diff --git a/channels/chan_vpb.cc b/channels/chan_vpb.cc index 465c24408..e54cebda0 100644 --- a/channels/chan_vpb.cc +++ b/channels/chan_vpb.cc @@ -2257,8 +2257,8 @@ static void *do_chanreads(void *pvt) bridgerec = 0; } else { ast_verb(5, "%s: chanreads: No native bridge.\n", p->dev); - if (p->owner->_bridge) { - ast_verb(5, "%s: chanreads: Got Asterisk bridge with [%s].\n", p->dev, ast_channel_name(p->owner->_bridge)); + if (ast_channel_internal_bridged_channel(p->owner)) { + ast_verb(5, "%s: chanreads: Got Asterisk bridge with [%s].\n", p->dev, ast_channel_name(ast_channel_internal_bridged_channel(p->owner))); bridgerec = 1; } else { bridgerec = 0; diff --git a/channels/sig_analog.c b/channels/sig_analog.c index 78963bb56..7112cf29d 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -2402,7 +2402,7 @@ static void *__analog_ss_thread(void *data) * emulation. The DTMF digits can come so fast that emulation * can drop some of them. */ - ast_set_flag(chan, AST_FLAG_END_DTMF_ONLY); + ast_set_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY); res = 4000;/* This is a typical OFF time between rings. */ for (;;) { struct ast_frame *f; @@ -2435,7 +2435,7 @@ static void *__analog_ss_thread(void *data) break; /* Got ring */ } } - ast_clear_flag(chan, AST_FLAG_END_DTMF_ONLY); + ast_clear_flag(ast_channel_flags(chan), AST_FLAG_END_DTMF_ONLY); dtmfbuf[k] = '\0'; analog_set_linear_mode(p, idx, oldlinearity); |