>     Yep, Hangup or HangupMultiparty then SwapCalls.  If you feel that a
>     single operation to accomplish hangup + swap is required we can
>     certainly consider it.  For now it didn't pass our API is Minimal +
>     Complete test.  Perhaps ReleaseAndSwap()...?
> 
> 
> I would go with easy solution by just changing src/voicecall.c line 1418
> 
> static DBusMessage *manager_release_and_answer(DBusConnection *conn,
>                         DBusMessage *msg, void *data)
> {
> ...
> 
> 1418:
> -    if (!voicecalls_have_waiting(vc))
> +    if (!voicecalls_have_waiting(vc) &&

I guess you mean || here.

> !voicecalls_have_with_status(vc, CALL_STATUS_HELD))
>         return __ofono_error_failed(msg);
> 
> ...
>     vc->driver->release_all_active(vc, generic_callback, vc);
> 
>     return NULL;
> }
> 
> This would give ReleaseAndAnswer full functionality of +CHLD=1.
> 
> (sorry for pseudo-patch, working temporary on windows machine)
>  
> 

Anyhow, I don't agree, we want the API to reflect what is going to
happen.  The various scenarios involving CHLD are pretty bizarre and
hard to explain to a developer who hasn't learned 22.030 by heart.

Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to