Ejemplo n.º 1
0
        private void WriteValue(MmsValue m, string dos, ReasonForInclusion reason)
        {
            try
            {
                switch (m.GetType())
                {
                case MmsType.MMS_ARRAY:
                case MmsType.MMS_STRUCTURE:
                    var size = m.Size();
                    foreach (MmsValue e in m)
                    {
                        WriteValue(e, dos, reason);
                    }
                    break;

                case MmsType.MMS_BOOLEAN:
                    _handler?.Invoke(dos, m.GetBoolean() ? 1 : 0, reason);
                    break;

                case MmsType.MMS_INTEGER:
                    _handler?.Invoke(dos, m.ToInt64(), reason);
                    break;

                case MmsType.MMS_FLOAT:
                    _handler?.Invoke(dos, m.ToDouble(), reason);
                    break;

                case MmsType.MMS_UNSIGNED:
                    _handler?.Invoke(dos, m.ToUint32(), reason);
                    break;

                case MmsType.MMS_UTC_TIME:
                    //Console.WriteLine(dos + " : " + new DateTime(1970, 1, 1).AddMilliseconds(m.GetUtcTimeInMs()).ToString());
                    break;

                case MmsType.MMS_BIT_STRING:
                    //Console.WriteLine(dos + " : " + m + " (Bit)");
                    break;

                case MmsType.MMS_STRING:
                case MmsType.MMS_OCTET_STRING:
                case MmsType.MMS_VISIBLE_STRING:
                case MmsType.MMS_GENERALIZED_TIME:
                case MmsType.MMS_BINARY_TIME:
                case MmsType.MMS_BCD:
                case MmsType.MMS_OBJ_ID:
                case MmsType.MMS_DATA_ACCESS_ERROR:
                default:
                    Console.WriteLine(dos + " : " + m + " - " + m.GetType());
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 2
0
 static void ValueHandler(string address, double value, ReasonForInclusion reason)
 {
     Console.WriteLine(address + " : " + value + " - Reason:" + reason.ToString());
 }