// Execute an AT Command public void ExecuteButton_Clicked(System.Object obj, EventArgs args) { if(connectionActive) { switch(connectionType) { case SelectedConnectionType.SerialPortConnection: string CommandResult = ""; string Command = ""; Command = CommandText.Text.Trim() + "\r"; SerialPortUtility SerialUtility = new SerialPortUtility(smReader.PortObject); CommandResult = SerialUtility.RunCustomCommand(Command); ResultsTextView.Buffer.Text = CommandResult; break; case SelectedConnectionType.PCSCConnection: // TODO: Implement functionality for the PCSC readers break; } } }
// Gets messages from SIM Card public void GetSIMMessagesButton_Clicked(System.Object obj, EventArgs args) { if(connectionActive) { switch(connectionType) { case SelectedConnectionType.SerialPortConnection: SerialPortUtility SerialUtility = new SerialPortUtility(smReader.PortObject); int CurrentMessage = 1; bool ReadStatus = true; messageListPopulated = false; do { String Message = SerialUtility.ReadMessage(CurrentMessage); SMSUtilities SMSUtility = new SMSUtilities(Message, SMSUtilities.Direction.SMS_IN); string ProcessedMessage = SMSUtility.ProcessedMessage; if(ProcessedMessage == null) { // Error encountered. Reached the end ReadStatus = false; } else if(ProcessedMessage.Trim().Equals(SerialUtility.CurrentCommand.Trim())) { // Get only stored messages ReadStatus = false; } else { // Add the item messages.Add (ProcessedMessage); } CurrentMessage ++; } while(ReadStatus); messageListPopulated = true; break; case SelectedConnectionType.PCSCConnection: // TODO: Implement PCSC functionality for the messages list break; } // Populate messages foreach(string IndividualMessage in messages) { messageListStore.AppendValues(IndividualMessage); } } }
// Copy from PC button clicked public void CopyFromPCButton_Clicked(System.Object obj, EventArgs args) { if(connectionActive) { XMLUtilities xmlUtilites = new XMLUtilities(); List<string> messages; string contact; xmlUtilites.LoadMessagesXMLFile(); messages = xmlUtilites.StringArray; contact = xmlUtilites.ContactText; switch(connectionType) { case SelectedConnectionType.SerialPortConnection: if(contact != null && messages != null) { SerialPortUtility MySerialPortUtility = new SerialPortUtility(smReader.PortObject); foreach(string Message in messages) { // Save these messages to SIM card MySerialPortUtility.StoreMessage(contact, Message); } } break; case SelectedConnectionType.PCSCConnection: break; } } }