示例#1
0
 /// <summary>
 /// A constructor for instantiating SsBarringInfo class with the necessary parameters.
 /// </summary>
 /// <param name="classType">Call type.</param>
 /// <param name="mode">Barring mode.</param>
 /// <param name="type">Barring type.</param>
 /// <param name="password">Password (3GPP(GSM/UMTS/LTE) Specific).</param>
 public SsBarringInfo(SsClass classType, SsBarringMode mode, SsBarringType type, string password)
 {
     _class    = classType;
     _mode     = mode;
     _type     = type;
     _password = password;
 }
示例#2
0
        /// <summary>
        /// Gets the status of the call waiting service.
        /// </summary>
        /// <since_tizen> 4 </since_tizen>
        /// <param name="ssClass">The call types.</param>
        /// <returns>A task containing information about SS waiting response.</returns>
        /// <feature>http://tizen.org/feature/network.telephony</feature>
        /// <privilege>http://tizen.org/privilege/telephony</privilege>
        /// <exception cref="NotSupportedException">Thrown when telephony feature is not supported.</exception>
        /// <exception cref="UnauthorizedAccessException">Thrown when privilege access is denied.</exception>
        /// <exception cref="ArgumentException">Thrown when it is failed due to invalid parameter.</exception>
        /// <exception cref="InvalidOperationException">Thrown when it is failed due to invalid operation.</exception>
        public Task <SsWaitingResponse> SsGetWaitingInfo(SsClass ssClass)
        {
            TaskCompletionSource <SsWaitingResponse> task = new TaskCompletionSource <SsWaitingResponse>();
            IntPtr id = (IntPtr)_requestId++;

            _callbackMap[id] = (handle, result, data, key) =>
            {
                Task taskResult = new Task(() =>
                {
                    if (result != (int)SsCause.Success)
                    {
                        Log.Error(TapiUtility.LogTag, "Error occurs in getting SS waiting info: " + (SsCause)result);
                        task.SetException(new InvalidOperationException("Error occurs in getting SS waiting info, " + (SsCause)result));
                        return;
                    }

                    SsWaitingResponseStruct response = Marshal.PtrToStructure <SsWaitingResponseStruct>(data);
                    task.SetResult(SsStructConversions.ConvertWaitingRspStruct(response));
                });
                taskResult.Start();
                taskResult.Wait();
                _callbackMap.Remove(key);
            };

            int ret = Interop.Tapi.Ss.SsGetWaitingStatus(_handle, ssClass, _callbackMap[id], id);

            if (ret != (int)TapiError.Success)
            {
                Log.Error(TapiUtility.LogTag, "Failed to get waiting info, Error: " + (TapiError)ret);
                TapiUtility.ThrowTapiException(ret, _handle, "http://tizen.org/privilege/telephony");
            }

            return(task.Task);
        }
示例#3
0
 /// <summary>
 /// A constructor for instantiating SsForwardInfo class with the necessary parameters.
 /// </summary>
 /// <param name="classType">SS Class.</param>
 /// <param name="mode">Forward Mode.</param>
 /// <param name="condition">Forward Condition.</param>
 /// <param name="time">No reply wait time 5-30 secs in intervals of 5(3GPP(GSM/UMTS/LTE) Specific).</param>
 /// <param name="ton">Type of number.</param>
 /// <param name="npi">Numbering plan identity.</param>
 /// <param name="number">Phone number.</param>
 public SsForwardInfo(SsClass classType, SsForwardMode mode, SsForwardCondition condition, SsNoReplyTime time, SsForwardTypeOfNumber ton, SsForwardNumberingPlanIdentity npi, string number)
 {
     _class        = classType;
     _mode         = mode;
     _condition    = condition;
     _noReplyTimer = time;
     _ton          = ton;
     _npi          = npi;
     _phoneNumber  = number;
 }
示例#4
0
 /// <summary>
 /// A constructor for instantiating SsWaitingInfo class with necessary parameters.
 /// </summary>
 /// <param name="ssClass">Call type.</param>
 /// <param name="mode">Call waiting mode.</param>
 public SsWaitingInfo(SsClass ssClass, SsCallWaitingMode mode)
 {
     _class = ssClass;
     _mode  = mode;
 }
示例#5
0
 internal static extern int SsGetWaitingStatus(IntPtr handle, SsClass ssClass, TapiResponseCallback cb, IntPtr userData);
示例#6
0
 internal static extern int SsGetForwardStatus(IntPtr handle, SsClass ssClass, SsForwardCondition condition, TapiResponseCallback cb, IntPtr userData);
示例#7
0
 internal static extern int SsGetBarringStatus(IntPtr handle, SsClass ssClass, SsBarringType type, TapiResponseCallback cb, IntPtr userData);