/// <summary> /// Gets all current call data. /// </summary> /// <param name="incoming">Incoming calldata instance to be filled.</param> /// <param name="active">Active calldata instance to be filled.</param> /// <param name="held">Held calldata instance to be filled.</param> /// <exception cref="InvalidOperationException">Thrown when method failed due to invalid operation.</exception> public void GetAllCallData(out CallData incoming, out CallData active, out CallData held) { int ret = Interop.CallManager.GetAllCallData(_handle, out IntPtr incomingCall, out IntPtr activeCall, out IntPtr heldCall); if (ret != (int)CmError.None) { Log.Error(CmUtility.LogTag, "Failed to get all call data, Error: " + (CmError)ret); CmUtility.ThrowCmException(ret, _handle); } incoming = CmUtility.GetCallData(incomingCall); active = CmUtility.GetCallData(activeCall); held = CmUtility.GetCallData(heldCall); }