Ejemplo n.º 1
0
        private void displayField(MamaMsgField field)
        {
            Console.Write(String.Format("{0,20}{1,20}{2,20}",
                                        field.getName(),
                                        field.getFid(),
                                        field.getTypeName()));

            /*
             *      The most efficient way of extracting data while iterating
             *      fields is to obtain the field type and then call the
             *      associated strongly-typed accessor.
             *
             *      MamaMsgField.getAsString() will return a string version
             *      of the data but is considerably less efficient and is not
             *      recommended for production use.
             */

            switch (field.getType())
            {
            case mamaFieldType.MAMA_FIELD_TYPE_MSG:
                MamaMsg myMsg = field.getMsg();
                Console.WriteLine(" {");
                displayAllFields(myMsg);
                Console.WriteLine("}");
                break;

            default:
                Console.WriteLine(String.Format("{0,20}", field.getAsString()));
                break;
            }
            Console.Out.Flush();
        }
 public void onField(
     MamaMsg msg,
     MamaMsgField field,
     object closure)
 {
     try
     {
         int fieldId = field.getFid();
         if (fieldId <= mMaxFid)
         {
             SecurityStatusUpdate updater = (SecurityStatusUpdate)mUpdaters[fieldId];
             if (updater != null)
             {
                 updater.onUpdate(mListener, field);
             }
         }
     }
     catch (Exception ex)
     {
         throw new MamdaDataException(ex.Message);
     }
 }
Ejemplo n.º 3
0
		private void displayField(MamaMsgField field)
			   {
				   Console.Write(String.Format("{0,20}{1,20}{2,20}",
					   field.getName(),
					   field.getFid(),
					   field.getTypeName()));
                
				   /*  
					   The most efficient way of extracting data while iterating 
					   fields is to obtain the field type and then call the 
					   associated strongly-typed accessor.

					   MamaMsgField.getAsString() will return a string version 
					   of the data but is considerably less efficient and is not 
					   recommended for production use.
				   */  
                        
				   switch(field.getType())
				   {
					   case mamaFieldType.MAMA_FIELD_TYPE_MSG:
						   MamaMsg myMsg = field.getMsg();
						   Console.WriteLine(" {");
						   displayAllFields(myMsg);
						   Console.WriteLine("}");
						   break;
					   default:
						   Console.WriteLine(String.Format("{0,20}",field.getAsString()));
						   break;
				   }
			   }
Ejemplo n.º 4
0
 public void onField(
     MamaMsg msg,
     MamaMsgField field,
     Object closure)
 {
     try
     {
         int fieldId = field.getFid();
         if (fieldId <= mMaxFid)
         {
             TradeUpdate updater = MamdaTradeListener.mUpdaters[fieldId];
             if (updater != null)
             {
                 updater.onUpdate(mListener, field);
             }
         }
     }
     catch (Exception ex)
     {
         throw new MamdaDataException(ex.Message, ex);
     }
 }
Ejemplo n.º 5
0
			public void onField(
				MamaMsg        msg,
				MamaMsgField   field,
				object         closure)
			{
				try
				{
					int fieldId = field.getFid();
                    if (fieldId <= mMaxFid)
                    {
                        ImbalanceOrderUpdate updater = (ImbalanceOrderUpdate)mUpdaters[fieldId];
                        if (updater != null)
                        {
                            updater.onUpdate(mListener, field);
                        }
                    }
				}
				catch (Exception ex )
				{
					throw new MamaException(MamaStatus.mamaStatus.MAMA_STATUS_PLATFORM, ex.Message);
				}
			}
Ejemplo n.º 6
0
			public void onField(
				MamaMsg msg,
				MamaMsgField field,
				object closure)
			{
				try
				{
					int fieldId = field.getFid();
                    if (fieldId <= mMaxFid)
                    {
                        SecurityStatusUpdate updater = (SecurityStatusUpdate)mUpdaters[fieldId];
                        if (updater != null)
                        {
                            updater.onUpdate(mListener, field);
                        }
                    }
				}
				catch (Exception ex )
				{
					throw new MamdaDataException(ex.Message);
				}
			}
Ejemplo n.º 7
0
            /// <summary>
            /// Display the contents of a field in the console window.
            /// </summary>
            /// <param name="field">
            /// The field to display.
            /// </param>
            /// <param name="indent">
            /// The level of indent to add before the string for formatting purposes.
            /// </param>
            internal void displayField(MamaMsgField field, int indent)
            {
                // Format a log string
                string logMessage = "";

                string indentSpacer = "  ";
                for (int i = 0; i < indent; i++)
                    indentSpacer += "  ";

                if (m_quietness < 1)
                {
                    logMessage = string.Format(
                        "{0}{1, -20 } |{2,5} | {3, 10} | ",
                        indentSpacer,
                        field.getName(),
                        field.getFid(),
                        field.getTypeName());
                }

                mamaFieldType fieldType = field.getType();

                switch (fieldType)
                {
                    case mamaFieldType.MAMA_FIELD_TYPE_MSG:
                        {
                            MamaMsg tmpMsg = field.getMsg();
                            Console.WriteLine(logMessage);
                            Console.WriteLine(indentSpacer + "{");

                            if (!(m_iterator))
                            {
                                tmpMsg.iterateFields(this, m_dictionary, indent + 1);
                            }
                            else
                            {
                                MamaMsgIterator subIterator = new MamaMsgIterator(m_dictionary);
                                MamaMsgField subField;
                                tmpMsg.begin(ref subIterator);
                                while ((subField = subIterator.getField()) != null)
                                {
                                    displayField(subField, indent + 1);
                                    subIterator++;
                                }
                            }
                            Console.WriteLine(indentSpacer + "}");
                        }
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_VECTOR_MSG:
                        {
                            MamaMsg[] tmpMsgarray = field.getVectorMsg();
                            foreach (MamaMsg tmpMsg in tmpMsgarray)
                            {
                                Console.WriteLine(logMessage);
                                Console.WriteLine(indentSpacer + "{");
                                if (!(m_iterator))
                                {
                                    tmpMsg.iterateFields(this, m_dictionary, indent + 1);
                                }
                                else
                                {
                                    MamaMsgIterator subIterator = new MamaMsgIterator(m_dictionary);
                                    MamaMsgField subField;
                                    tmpMsg.begin(ref subIterator);
                                    while ((subField = subIterator.getField()) != null)
                                    {
                                        displayField(subField, indent + 1);
                                        subIterator++;
                                    }
                                }
                                Console.WriteLine(indentSpacer + "}");
                            }
                        }
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_STRING:
                        logMessage += field.getString();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_BOOL:
                        if (m_quietness < 1)
                            logMessage += field.getBool().ToString();
                        else
                            logMessage += field.getBool();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_CHAR:
                        if (m_quietness < 1)
                            logMessage += field.getChar().ToString();
                        else
                            logMessage += field.getChar();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_I8:
                        if (m_quietness < 1)
                            logMessage += field.getI8().ToString();
                        else
                            logMessage += field.getI8();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_U8:
                        if (m_quietness < 1)
                            logMessage += field.getU8().ToString();
                        else
                            logMessage += field.getU8();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_I16:
                        if (m_quietness < 1)
                            logMessage += field.getI16().ToString();
                        else
                            logMessage += field.getI16();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_U16:
                        if (m_quietness < 1)
                            logMessage += field.getU16().ToString();
                        else
                            logMessage += field.getU16();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_I32:
                        if (m_quietness < 1)
                            logMessage += field.getI32().ToString();
                        else
                            logMessage += field.getI32();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_U32:
                        if (m_quietness < 1)
                            logMessage += field.getU32().ToString();
                        else
                            logMessage += field.getU32();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_I64:
                        if (m_quietness < 1)
                            logMessage += field.getI64().ToString();
                        else
                            logMessage += field.getI64();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_U64:
                        if (m_quietness < 1)
                            logMessage += field.getU64().ToString();
                        else
                            logMessage += field.getU64();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_F32:
                        if (m_quietness < 1)
                            logMessage += field.getF32().ToString();
                        else
                            logMessage += field.getF32();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_F64:
                        if (m_quietness < 1)
                            logMessage += field.getF64().ToString();
                        else
                            logMessage += field.getF64();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_TIME:
                        if (m_quietness < 1)
                            logMessage += field.getDateTime().ToString();
                        else
                            logMessage += field.getDateTime();
                        break;
                    case mamaFieldType.MAMA_FIELD_TYPE_PRICE:
                        if (m_quietness < 1)
                            logMessage += field.getPrice().getAsString();
                        else
                            logMessage += field.getPrice();
                        break;

                    default:

                        logMessage += field.getAsString();
                        break;
                }

                Console.WriteLine(logMessage);
            }