/// <summary>
        /// 설정을 불러옵니다.
        /// </summary>
        /// <param name="channels">채널 배열을 의미합니다.</param>
        /// <param name="gameInfos">게임 정보가 담긴 배열을 의미합니다.</param>
        public static void LoadSettings(ref List <Data.Channel> channels, ref List <GameInfo> gameInfos)
        {
            DBmanager.getInstance().LoadSetting(ref channels);

            DirectoryInfo di = new DirectoryInfo(DBmanager.dataPath);

            FileStream    fs;
            XmlSerializer xs = new XmlSerializer(typeof(GameInfo));
            GameInfo      registry;

            foreach (FileInfo fi in di.GetFiles())
            {
                if (!fi.Extension.Equals(".info"))
                {
                    continue;
                }

                fs = fi.OpenRead();

                registry = (GameInfo)xs.Deserialize(fs);
                gameInfos.Add(registry);

                fs.Close();
            }
        }
 public static DBmanager getInstance()
 {
     if (instance == null)
     {
         instance = new DBmanager();
     }
     return(instance);
 }
        /// <summary>
        /// 회원가입 양식 데이터에서 중복 여부를 확인하게 해주는 함수입니다.
        /// </summary>
        /// <param name="type">확인할 데이터 타입입니다.</param>
        /// <param name="context">확인할 데이터의 내용입니다.</param>
        /// <returns>사용 가능 여부</returns>
        public static bool AccountDuplicateCheckFunction(CustomProtocolManager.DuplicateCheckJoinType type, string context)
        {
            switch (type)
            {
            case CustomProtocolManager.DuplicateCheckJoinType.ID:
                if (DBmanager.getInstance().GetCountColumnData("user_id", context) > 0)
                {
                    return(false);
                }
                return(true);

            case CustomProtocolManager.DuplicateCheckJoinType.Nickname:
                if (DBmanager.getInstance().GetCountColumnData("user_nickname", context) > 0)
                {
                    return(false);
                }
                return(true);

            default: return(false);
            }
        }
        /// <summary>
        /// 로그인 함수입니다.
        /// </summary>
        /// <param name="id">계정명을 의미합니다.</param>
        /// <param name="pwd">비밀번호를 의미합니다.</param>
        /// <returns></returns>
        public static bool LoginFunction(string id, string pwd, out string nickname)
        {
            string targetPwd = null;

            nickname = null;

            DBmanager db = DBmanager.getInstance();

            if (!db.GetUserStringData(id, "user_password", out targetPwd))
            {
                return(false);
            }
            else if (!pwd.Equals(targetPwd))
            {
                return(false);
            }


            db.GetUserStringData(id, "user_nickname", out nickname);

            return(true);
        }
 /// <summary>
 /// 계정을 만듭니다.
 /// </summary>
 /// <param name="data">회원가입 양식을 의미합니다.</param>
 /// <returns>성공 여부를 의미합니다.</returns>
 public static bool AccountMakeFunction(JoinData data)
 {
     return(DBmanager.getInstance().MakeAccount(data));
 }
 /// <summary>
 /// 설정을 저장합니다.
 /// </summary>
 /// <param name="channels">채널 배열을 의미합니다.</param>
 /// <param name="gameInfos">게임 정보가 담긴 배열을 의미합니다.</param>
 public static void SaveSettings(ref List <Data.Channel> channels)
 {
     DBmanager.getInstance().SaveSetting(ref channels);
 }