Hi Ajay, On Thu, May 9, 2024 at 1:52 PM Ajay KV <ajay.k.v@xxxxxxxxx> wrote: > > call control profile interface has been documented with > man page added. > --- > Makefile.am | 6 ++- > doc/org.bluez.CcpTest.5 | 82 +++++++++++++++++++++++++++++++++++++++ > doc/org.bluez.CcpTest.rst | 50 ++++++++++++++++++++++++ > 3 files changed, 136 insertions(+), 2 deletions(-) > create mode 100644 doc/org.bluez.CcpTest.5 > create mode 100644 doc/org.bluez.CcpTest.rst > > diff --git a/Makefile.am b/Makefile.am > index 05d02932f205..07019f4e1628 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -377,7 +377,8 @@ man_MANS += doc/org.bluez.obex.Client.5 doc/org.bluez.obex.Session.5 \ > doc/org.bluez.obex.PhonebookAccess.5 \ > doc/org.bluez.obex.MessageAccess.5 \ > doc/org.bluez.obex.Message.5 \ > - doc/org.bluez.obex.AgentManager.5 doc/org.bluez.obex.Agent.5 > + doc/org.bluez.obex.AgentManager.5 doc/org.bluez.obex.Agent.5 \ > + doc/org.bluez.CcpTest.5 > endif > manual_pages += src/bluetoothd.8 > manual_pages += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \ > @@ -465,7 +466,8 @@ EXTRA_DIST += doc/org.bluez.Adapter.rst doc/org.bluez.Device.rst \ > doc/org.bluez.BatteryProviderManager.rst \ > doc/org.bluez.BatteryProvider.rst doc/org.bluez.Battery.rst \ > doc/org.bluez.AdminPolicySet.rst \ > - doc/org.bluez.AdminPolicyStatus.rst > + doc/org.bluez.AdminPolicyStatus.rst\ > + doc/org.bluez.CcpTest.rst > > EXTRA_DIST += doc/org.bluez.Media.rst doc/org.bluez.MediaControl.rst \ > doc/org.bluez.MediaPlayer.rst doc/org.bluez.MediaFolder.rst \ > diff --git a/doc/org.bluez.CcpTest.5 b/doc/org.bluez.CcpTest.5 > new file mode 100644 > index 000000000000..b16097d08270 > --- /dev/null > +++ b/doc/org.bluez.CcpTest.5 The man page itself should be generated with rst2man so no need to commit it. > @@ -0,0 +1,82 @@ > +.\" Man page generated from reStructuredText. > +. > +. > +.nr rst2man-indent-level 0 > +. > +.de1 rstReportMargin > +\\$1 \\n[an-margin] > +level \\n[rst2man-indent-level] > +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] > +- > +\\n[rst2man-indent0] > +\\n[rst2man-indent1] > +\\n[rst2man-indent2] > +.. > +.de1 INDENT > +.\" .rstReportMargin pre: > +. RS \\$1 > +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] > +. nr rst2man-indent-level +1 > +.\" .rstReportMargin post: > +.. > +.de UNINDENT > +. RE > +.\" indent \\n[an-margin] > +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] > +.nr rst2man-indent-level -1 > +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] > +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u > +.. > +.TH "ORG.BLUEZ.CCPTEST" 5 "May 2024" "BlueZ" "Linux System Administration" > +.SH NAME > +org.bluez.CCPTest \- BlueZ D-Bus CCPTest API documentation > +.SH INTERFACE > +.INDENT 0.0 > +.TP > +.B Service > +org.bluez > +.TP > +.B Interface > +org.bluez.CCPTest1 > +.TP > +.B Object path > +[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/CallerX > +.UNINDENT > +.SS Methods > +.SS void Answer() > +.INDENT 0.0 > +.INDENT 3.5 > +This method can be called to answer an incoming call in progress. > +.sp > +Possible errors: > +.INDENT 0.0 > +.TP > +.B org.bluez.Error.Failed > +.TP > +.B org.bluez.Error.NotConnected > +.UNINDENT > +.UNINDENT > +.UNINDENT > +.SS void Reject() > +.INDENT 0.0 > +.INDENT 3.5 > +This Method can be called to reject a call, which can be an active call or a call on hold state. > +.sp > +Possible errors: > +.INDENT 0.0 > +.TP > +.B org.bluez.Error.Failed > +.TP > +.B org.bluez.Error.NotConnected > +.UNINDENT > +.UNINDENT > +.UNINDENT > +.SS Properties > +.SS uint32 CallState [readonly] > +.INDENT 0.0 > +.INDENT 3.5 > +call index defined by CCP profile to denote the active call. > +.UNINDENT > +.UNINDENT > +.\" Generated by docutils manpage writer. > +. > diff --git a/doc/org.bluez.CcpTest.rst b/doc/org.bluez.CcpTest.rst > new file mode 100644 > index 000000000000..79ead19ad538 > --- /dev/null > +++ b/doc/org.bluez.CcpTest.rst > @@ -0,0 +1,50 @@ > +================= > +org.bluez.CCPTest > +================= > + > +------------------------------------- > +BlueZ D-Bus CCPTest API documentation > +------------------------------------- > + > +:Version: BlueZ > +:Date: May 2024 > +:Manual section: 5 > +:Manual group: Linux System Administration > + > +Interface > +========= > + > +:Service: org.bluez > +:Interface: org.bluez.CCPTest1 > +:Object path: [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/CallerX I'm missing something perhaps, but it seems we need another interface that creates the calls and something like CCPCallTest1 for actually controlling the call. Perhaps we can following something similar to oFono interfaces in that respect: https://kernel.googlesource.com/pub/scm/network/ofono/ofono/+/refs/heads/master/doc/voicecallmanager-api.txt https://kernel.googlesource.com/pub/scm/network/ofono/ofono/+/refs/heads/master/doc/voicecall-api.txt > +Methods > +------- > + > +void Answer() > +`````````````` > + > + This method can be called to answer an incoming call in progress. > + > + Possible errors: > + > + :org.bluez.Error.Failed: > + :org.bluez.Error.NotConnected: > + > +void Reject() > +````````````````` > + > + This Method can be called to reject a call, which can be an active call or a call on hold state. > + > + Possible errors: > + > + :org.bluez.Error.Failed: > + :org.bluez.Error.NotConnected: > + > +Properties > +---------- > + > +uint32 CallState [readonly] > +``````````````````````````` > + > + call index defined by CCP profile to denote the active call. > -- > 2.34.1 > > -- Luiz Augusto von Dentz