Example #1
0
        // 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;
                }
            }
        }
Example #2
0
        // 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);
                }
            }
        }
Example #3
0
        // 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;
                }
            }
        }