예제 #1
0
        public static string Prefix(SessionID sessionID)
        {
            System.Text.StringBuilder prefix = new System.Text.StringBuilder(sessionID.BeginString)
                                               .Append('-').Append(sessionID.SenderCompID);
            if (SessionID.IsSet(sessionID.SenderSubID))
            {
                prefix.Append('_').Append(sessionID.SenderSubID);
            }
            if (SessionID.IsSet(sessionID.SenderLocationID))
            {
                prefix.Append('_').Append(sessionID.SenderLocationID);
            }
            prefix.Append('-').Append(sessionID.TargetCompID);
            if (SessionID.IsSet(sessionID.TargetSubID))
            {
                prefix.Append('_').Append(sessionID.TargetSubID);
            }
            if (SessionID.IsSet(sessionID.TargetLocationID))
            {
                prefix.Append('_').Append(sessionID.TargetLocationID);
            }

            if (sessionID.SessionQualifier.Length != 0)
            {
                prefix.Append('-').Append(sessionID.SessionQualifier);
            }

            return(prefix.ToString());
        }
예제 #2
0
 /// <summary>
 /// Add new session config
 /// </summary>
 /// <param name="sessionID">ID of session for which to add config</param>
 /// <param name="settings">session config</param>
 public void Set(SessionID sessionID, QuickFix.Dictionary settings)
 {
     if (Has(sessionID))
     {
         throw new ConfigError("Duplicate Session " + sessionID.ToString());
     }
     settings.SetString(BEGINSTRING, sessionID.BeginString);
     settings.SetString(SENDERCOMPID, sessionID.SenderCompID);
     if (SessionID.IsSet(sessionID.SenderSubID))
     {
         settings.SetString(SENDERSUBID, sessionID.SenderSubID);
     }
     if (SessionID.IsSet(sessionID.SenderLocationID))
     {
         settings.SetString(SENDERLOCID, sessionID.SenderLocationID);
     }
     settings.SetString(TARGETCOMPID, sessionID.TargetCompID);
     if (SessionID.IsSet(sessionID.TargetSubID))
     {
         settings.SetString(TARGETSUBID, sessionID.TargetSubID);
     }
     if (SessionID.IsSet(sessionID.TargetLocationID))
     {
         settings.SetString(TARGETLOCID, sessionID.TargetLocationID);
     }
     settings.Merge(defaults_);
     Validate(settings);
     settings_[sessionID] = settings;
 }
예제 #3
0
 /// <summary>
 /// FIXME less operator new
 /// </summary>
 /// <param name="sessionID"></param>
 public void SetSessionID(SessionID sessionID)
 {
     this.Header.SetField(new BeginString(sessionID.BeginString));
     this.Header.SetField(new SenderCompID(sessionID.SenderCompID));
     if (SessionID.IsSet(sessionID.SenderSubID))
     {
         this.Header.SetField(new SenderSubID(sessionID.SenderSubID));
     }
     if (SessionID.IsSet(sessionID.SenderLocationID))
     {
         this.Header.SetField(new SenderLocationID(sessionID.SenderLocationID));
     }
     this.Header.SetField(new TargetCompID(sessionID.TargetCompID));
     if (SessionID.IsSet(sessionID.TargetSubID))
     {
         this.Header.SetField(new TargetSubID(sessionID.TargetSubID));
     }
     if (SessionID.IsSet(sessionID.TargetLocationID))
     {
         this.Header.SetField(new TargetLocationID(sessionID.TargetLocationID));
     }
 }