/// <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); } }