コード例 #1
0
 /// <summary>
 /// Convert original Table name to format supported by Hand2Note
 /// </summary>
 /// <remarks>
 /// Hand2Note is built on the assumption that hand history contains all the information required to completely define a hand including its original Room.
 /// Usually converted hand history doesn't define its original poker room. So, we use a prefix for a table name to store this information.
 /// Hand2Note reads target room from table name 'XXXXnnnnnnnn'
 /// where 'XXXX' is room prefix, 'nnnnnnnn' is some numeric hash code from original table name.
 /// </remarks>
 /// <param name="room">Original poker room</param>
 /// <param name="originalTableName">Original table name</param>
 /// <returns>Table name supported by Hand2Note</returns>
 public static string GetRoomDefiningTableName(Rooms room, string originalTableName)
 {
     lock (_lockObject)
     {
         LazyInitLibrary();
         var lpcOriginalTableName = WinApiHelper.StringToUTF8Pointer(originalTableName);
         var lpcTableName         = _h2nMakeTableName((int)room, lpcOriginalTableName);
         Marshal.FreeHGlobal(lpcOriginalTableName);
         var ret = WinApiHelper.StringFromUTF8Pointer(lpcTableName);
         _h2nFreeCString(lpcTableName);
         return(ret);
     }
 }