forked from connamara/quickfixn
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScreenLogFactory.cs
More file actions
executable file
·51 lines (43 loc) · 1.67 KB
/
Copy pathScreenLogFactory.cs
File metadata and controls
executable file
·51 lines (43 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
namespace QuickFix
{
public class ScreenLogFactory : ILogFactory
{
public const string SCREEN_LOG_SHOW_INCOMING = "ScreenLogShowIncoming";
public const string SCREEN_LOG_SHOW_OUTGOING = "ScreenLogShowOutgoing";
public const string SCREEN_LOG_SHOW_EVENTS = "ScreenLogShowEvents";
private SessionSettings settings_ = null;
private bool logIncoming_ = true;
private bool logOutgoing_ = true;
private bool logEvent_ = true;
public ScreenLogFactory(SessionSettings settings)
{
settings_ = settings;
}
public ScreenLogFactory(bool logIncoming, bool logOutgoing, bool logEvent)
{
logIncoming_ = logIncoming;
logOutgoing_ = logOutgoing;
logEvent_ = logEvent;
}
#region LogFactory Members
public ILog Create(SessionID sessionID)
{
bool logIncoming = logIncoming_;
bool logOutgoing = logOutgoing_;
bool logEvent = logEvent_;
if(settings_ != null && settings_.Has(sessionID))
{
Dictionary dict = settings_.Get(sessionID);
if (dict.Has(SCREEN_LOG_SHOW_INCOMING))
logIncoming = dict.GetBool(SCREEN_LOG_SHOW_INCOMING);
if (dict.Has(SCREEN_LOG_SHOW_OUTGOING))
logOutgoing = dict.GetBool(SCREEN_LOG_SHOW_OUTGOING);
if (dict.Has(SCREEN_LOG_SHOW_EVENTS))
logEvent = dict.GetBool(SCREEN_LOG_SHOW_EVENTS);
}
return new ScreenLog(sessionID, logIncoming, logOutgoing, logEvent);
}
#endregion
}
}