Files
pokerth/console/src/lib/GameInfoList.cs
T

99 lines
2.6 KiB
C#
Raw Normal View History

2008-12-19 00:39:56 +00:00
/***************************************************************************
* Copyright (C) 2008 by Lothar May *
* *
* This file is part of pokerth_console. *
* pokerth_console is free software: you can redistribute it and/or *
* modify it under the terms of the GNU Affero General Public License *
* as published by the Free Software Foundation, either version 3 of *
* the License, or (at your option) any later version. *
* *
* pokerth_console is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the *
* GNU Affero General Public License along with pokerth_console. *
* If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace pokerth_lib
{
public class GameInfoList
{
public GameInfoList()
{
2008-12-21 14:23:40 +00:00
m_list = new Dictionary<uint, GameInfo>();
}
public void AddGameInfo(GameInfo info)
{
lock (m_list)
{
2008-12-21 14:23:40 +00:00
if (m_list.ContainsKey(info.Id))
m_list[info.Id] = info;
else
m_list.Add(info.Id, info);
}
}
public GameInfo GetGameInfo(uint id)
{
lock (m_list)
{
return m_list[id];
}
}
public bool HasGame(uint id)
{
lock (m_list)
{
return m_list.ContainsKey(id);
}
}
public void SetGameInfo(uint id, GameInfo info)
{
lock (m_list)
{
m_list[id] = info;
}
}
public void RemoveGameInfo(uint id)
{
lock (m_list)
{
m_list.Remove(id);
}
}
public string GetOpenGamesString()
{
string outString = "";
lock (m_list)
{
2008-12-21 14:23:40 +00:00
foreach (KeyValuePair<uint, GameInfo> i in m_list)
{
if (i.Value.CurrentMode == GameInfo.Mode.Created)
{
outString += i.Key;
outString += " ";
outString += i.Value.Name;
outString += '\n';
}
}
}
return outString;
}
2008-12-21 14:23:40 +00:00
private Dictionary<uint, GameInfo> m_list;
}
}