/**  creates and sends a CONFIRMATION_CODE_REQUEST message this sends a confirmation code to the number provided

        @returns sms
        @param [in] type
        @param [in] number
         */
        public SktSms RequestConfirmationCode(SktSms.CONFIRM_TYPE type, String number)
        {
            if (skypeRef.logging) skypeRef.Log("Executing Skype.RequestConfirmationCode");
            uint RequestId = skypeRef.encoder.AddMethodHeader(ClassId, 29, OID);
            skypeRef.encoder.AddEnumParam(1, (uint)type);
            skypeRef.encoder.AddStringParam(2, number);
            skypeRef.transport.SubmitMethodRequest (RequestId);
            Dictionary<uint, uint> tagMap = new Dictionary<uint, uint> { {1, 1} };
            object[] args = new object[1];
            args[0] = null;
            skypeRef.decoder.DecodeMethodResponseArguments(1, ref args, new uint[1]{12}, ref tagMap, "SktSkype.RequestConfirmationCode");
            return (SktSms)args[0];
        }
 public OnSmsTimestampArgs(SktSms sender, DateTime newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsTypeArgs(SktSms sender, SktSms.TYPE newValue)
 {
     this.sender = sender;  value = newValue;
 }
 internal void FireOnSmsOutgoingReplyType(SktSms sender, SktSms.OUTGOING_REPLY_TYPE value)
 {
     if (OnSmsOutgoingReplyType == null) return; // Event not assigned
     OnSmsOutgoingReplyTypeArgs args = new OnSmsOutgoingReplyTypeArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsOutgoingReplyTypeInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsOutgoingReplyType, new object[] { sender, args }); // Syncing to GUI thread
 }
 internal void FireOnSmsTimestamp(SktSms sender, DateTime value)
 {
     if (OnSmsTimestamp == null) return; // Event not assigned
     OnSmsTimestampArgs args = new OnSmsTimestampArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsTimestampInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsTimestamp, new object[] { sender, args }); // Syncing to GUI thread
 }
 /**  Takes an SMS instance created by SktSkype.CreateOutgoingSms and posts it in the conversation. Note that
   you will need to set both Sms body text Skt(Sms.SetBody) and recipient list Skt(Sms.SetTargets) before
   you can post the object.
 @param [in] sms - SMS object.
 @param [in] body - This argument is currently ignored. The message text needs to be set with SktSms.SetBody method, prior
   to passing the Sms object to this method Default value is ""
  */
 public void PostSMS(SktSms sms, String body="")
 {
     if (skypeRef.logging) skypeRef.Log("Executing Conversation.PostSMS");
     uint RequestId = skypeRef.encoder.AddMethodHeader(ClassId, 23, OID);
     skypeRef.encoder.AddObjectParam(1, sms);
     skypeRef.encoder.AddStringParam(2, body);
     skypeRef.transport.SubmitMethodRequest (RequestId);
     skypeRef.decoder.DecodeMethodResponseWithNoArguments("SktConversation.PostSMS");
 }
 internal void FireOnSmsFailurereason(SktSms sender, SktSms.FAILUREREASON value)
 {
     if (OnSmsFailurereason == null) return; // Event not assigned
     OnSmsFailurereasonArgs args = new OnSmsFailurereasonArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsFailurereasonInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsFailurereason, new object[] { sender, args }); // Syncing to GUI thread
 }
 public OnSmsPriceCurrencyArgs(SktSms sender, String newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsPricePrecisionArgs(SktSms sender, uint newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsIsFailedUnseenArgs(SktSms sender, Boolean newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsOutgoingReplyTypeArgs(SktSms sender, SktSms.OUTGOING_REPLY_TYPE newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsFailurereasonArgs(SktSms sender, SktSms.FAILUREREASON newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsChatmsgIdArgs(SktSms sender, SktMessage newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public OnSmsBodyArgs(SktSms sender, String newValue)
 {
     this.sender = sender;  value = newValue;
 }
 /**  -The- method for setting the body text of this SMS. While SktConversation.PostSMS does have a body argument,
   that argument is currently unused.
 @param [out] result Whether the Message body was successfully set and if not, why not.
 @param [out] chunks The Message body as a list of individual chunks.
 @param [out] charsUntilNextChunk Number of available characters until creation of the next chunk becomes necessary.
 @param [in] text - Message body text.
  */
 public void SetBody(
 out SktSms.SETBODYRESULT result,
 out List<String> chunks,
 out uint    charsUntilNextChunk,
 String      text)
 {
     if (skypeRef.logging) skypeRef.Log("Executing Sms.SetBody");
     uint RequestId = skypeRef.encoder.AddMethodHeader(ClassId, 7, OID);
     skypeRef.encoder.AddStringParam(1, text);
     result = 0;
     chunks = new List<String>(); // We always guarantee non-null list is returned
     charsUntilNextChunk = 0;
     skypeRef.transport.SubmitMethodRequest (RequestId);
     int argNr, marker;
     do
     {
     marker = (char)skypeRef.transport.ReadByte();
     if (marker != 'z')
     {
         if (marker == 'N') skypeRef.Error("SktSms.SetBody failed.");
         argNr = (char)skypeRef.transport.ReadByte();
         switch (argNr)
         {
             case 1:
                 result = (SktSms.SETBODYRESULT)skypeRef.decoder.DecodeInt();
                 break;
             case 2:
                 chunks = skypeRef.decoder.DecodeStringList();
                 break;
             case 3:
                 charsUntilNextChunk = skypeRef.decoder.DecodeUint();
                 break;
             case 'z': marker = argNr; break; // exiting the arg loop if the method failed
             default:
                 skypeRef.Error(String.Format("Got unexpected response argument {0} from runtime in SktSms.SetBody", argNr));
                 break;
         }
     }
     } while (marker != 'z');
     skypeRef.transport.ResumeSocketReaderFromMethod();
 }
 public OnSmsReplyToNumberArgs(SktSms sender, String newValue)
 {
     this.sender = sender;  value = newValue;
 }
 public void Add(SktSms item)
 {
     base.Add((SktSms)item);
 }
 public OnSmsStatusArgs(SktSms sender, SktSms.STATUS newValue)
 {
     this.sender = sender;  value = newValue;
 }
 internal void FireOnSmsChatmsgId(SktSms sender, SktMessage value)
 {
     if (OnSmsChatmsgId == null) return; // Event not assigned
     OnSmsChatmsgIdArgs args = new OnSmsChatmsgIdArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsChatmsgIdInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsChatmsgId, new object[] { sender, args }); // Syncing to GUI thread
 }
 public OnSmsTargetNumbersArgs(SktSms sender, String newValue)
 {
     this.sender = sender;  value = newValue;
 }
 internal void FireOnSmsIsFailedUnseen(SktSms sender, Boolean value)
 {
     if (OnSmsIsFailedUnseen == null) return; // Event not assigned
     OnSmsIsFailedUnseenArgs args = new OnSmsIsFailedUnseenArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsIsFailedUnseenInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsIsFailedUnseen, new object[] { sender, args }); // Syncing to GUI thread
 }
 public OnSmsTargetStatusesArgs(SktSms sender, byte[] newValue)
 {
     this.sender = sender;  value = newValue;
 }
 internal void FireOnSmsPriceCurrency(SktSms sender, String value)
 {
     if (OnSmsPriceCurrency == null) return; // Event not assigned
     OnSmsPriceCurrencyArgs args = new OnSmsPriceCurrencyArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsPriceCurrencyInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsPriceCurrency, new object[] { sender, args }); // Syncing to GUI thread
 }
 internal void FireOnSmsTargetStatuses(SktSms sender, byte[] value)
 {
     if (OnSmsTargetStatuses == null) return; // Event not assigned
     OnSmsTargetStatusesArgs args = new OnSmsTargetStatusesArgs(sender, value);
     if (gui == null) { FireCallbackInSeparateThread(args, OnSmsTargetStatusesInNewThread); return; } // No gui firing in separate thread
     gui.BeginInvoke(OnSmsTargetStatuses, new object[] { sender, args }); // Syncing to GUI thread
 }