Skip to content

Commit fcd7a47

Browse files
committed
Use read-only dict type in .NET API
1 parent 47c5fcc commit fcd7a47

File tree

9 files changed

+17
-17
lines changed

9 files changed

+17
-17
lines changed

src/BizHawk.Client.Common/Api/Classes/GameInfoApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public sealed class GameInfoApi : IGameInfoApi
2525

2626
public string GetBoardType() => BoardInfo?.BoardName ?? "";
2727

28-
public Dictionary<string, string> GetOptions()
28+
public IReadOnlyDictionary<string, string> GetOptions()
2929
{
3030
var options = new Dictionary<string, string>();
3131
if (_game == null) return options;

src/BizHawk.Client.Common/Api/Classes/JoypadApi.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ public JoypadApi(Action<string> logCallback, InputManager inputManager, IMovieSe
2020
_movieSession = movieSession;
2121
}
2222

23-
public IDictionary<string, object> Get(int? controller = null)
23+
public IReadOnlyDictionary<string, object> Get(int? controller = null)
2424
{
2525
return _inputManager.AutofireStickyXorAdapter.ToDictionary(controller);
2626
}
2727

28-
public IDictionary<string, object> GetWithMovie(int? controller = null)
28+
public IReadOnlyDictionary<string, object> GetWithMovie(int? controller = null)
2929
{
3030
return _inputManager.ControllerOutput.ToDictionary(controller);
3131
}
3232

33-
public IDictionary<string, object> GetImmediate(int? controller = null)
33+
public IReadOnlyDictionary<string, object> GetImmediate(int? controller = null)
3434
{
3535
return _inputManager.ActiveController.ToDictionary(controller);
3636
}
@@ -51,7 +51,7 @@ public void SetFromMnemonicStr(string inputLogEntry)
5151
foreach (var axis in controller.Definition.Axes.Keys) _inputManager.ButtonOverrideAdapter.SetAxis(axis, controller.AxisValue(axis));
5252
}
5353

54-
public void Set(IDictionary<string, bool> buttons, int? controller = null)
54+
public void Set(IReadOnlyDictionary<string, bool> buttons, int? controller = null)
5555
{
5656
// If a controller is specified, we need to iterate over unique button names. If not, we iterate over
5757
// ALL button names with P{controller} prefixes
@@ -88,7 +88,7 @@ public void Set(string button, bool? state = null, int? controller = null)
8888
}
8989
}
9090

91-
public void SetAnalog(IDictionary<string, int?> controls, object controller = null)
91+
public void SetAnalog(IReadOnlyDictionary<string, int?> controls, object controller = null)
9292
{
9393
foreach (var kvp in controls) SetAnalog(kvp.Key, kvp.Value, controller);
9494
}

src/BizHawk.Client.Common/Api/Classes/MovieApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public MovieApi(Action<string> logCallback, IMovieSession movieSession)
2323

2424
public bool StartsFromSaveram() => _movieSession.Movie.IsActive() && _movieSession.Movie.StartsFromSaveRam;
2525

26-
public IDictionary<string, object> GetInput(int frame, int? controller = null)
26+
public IReadOnlyDictionary<string, object> GetInput(int frame, int? controller = null)
2727
{
2828
if (_movieSession.Movie.NotActive())
2929
{

src/BizHawk.Client.Common/Api/Interfaces/IGameInfoApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ public interface IGameInfoApi : IExternalApi
1010
string GetStatus();
1111
bool IsStatusBad();
1212
string GetBoardType();
13-
Dictionary<string, string> GetOptions();
13+
IReadOnlyDictionary<string, string> GetOptions();
1414
}
1515
}

src/BizHawk.Client.Common/Api/Interfaces/IJoypadApi.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ namespace BizHawk.Client.Common
44
{
55
public interface IJoypadApi : IExternalApi
66
{
7-
IDictionary<string, object> Get(int? controller = null);
8-
IDictionary<string, object> GetWithMovie(int? controller = null);
9-
IDictionary<string, object> GetImmediate(int? controller = null);
7+
IReadOnlyDictionary<string, object> Get(int? controller = null);
8+
IReadOnlyDictionary<string, object> GetWithMovie(int? controller = null);
9+
IReadOnlyDictionary<string, object> GetImmediate(int? controller = null);
1010
void SetFromMnemonicStr(string inputLogEntry);
11-
void Set(IDictionary<string, bool> buttons, int? controller = null);
11+
void Set(IReadOnlyDictionary<string, bool> buttons, int? controller = null);
1212
void Set(string button, bool? state = null, int? controller = null);
13-
void SetAnalog(IDictionary<string, int?> controls, object controller = null);
13+
void SetAnalog(IReadOnlyDictionary<string, int?> controls, object controller = null);
1414
void SetAnalog(string control, int? value = null, object controller = null);
1515
}
1616
}

src/BizHawk.Client.Common/Api/Interfaces/IMovieApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public interface IMovieApi : IExternalApi
77
bool StartsFromSavestate();
88
bool StartsFromSaveram();
99
string Filename();
10-
IDictionary<string, object> GetInput(int frame, int? controller = null);
10+
IReadOnlyDictionary<string, object> GetInput(int frame, int? controller = null);
1111
string GetInputAsMnemonic(int frame);
1212
bool GetReadOnly();
1313
ulong GetRerecordCount();

src/BizHawk.Client.Common/inputAdapters/InputManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class InputManager
3232
public StickyXorAdapter StickyXorAdapter { get; } = new StickyXorAdapter();
3333

3434
/// <summary>
35-
/// Used to AND to another controller, used for <see cref="IJoypadApi.Set(IDictionary{string, bool}, int?)">JoypadApi.Set</see>
35+
/// Used to AND to another controller, used for <see cref="IJoypadApi.Set(IReadOnlyDictionary{string, bool}, int?)">JoypadApi.Set</see>
3636
/// </summary>
3737
public OverrideAdapter ButtonOverrideAdapter { get; } = new OverrideAdapter();
3838

src/BizHawk.Client.Common/lua/NLuaTableHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public NLuaTableHelper(Lua lua, Action<string> logCallback)
2222

2323
public LuaTable CreateTable() => _lua.NewTable();
2424

25-
public LuaTable DictToTable<T>(IDictionary<string, T> dictionary)
25+
public LuaTable DictToTable<T>(IReadOnlyDictionary<string, T> dictionary)
2626
{
2727
var table = _lua.NewTable();
2828

src/BizHawk.Emulation.Common/Extensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ private static List<string> ToControlNameList(IEnumerable<string> buttonList, in
390390
return buttons;
391391
}
392392

393-
public static IDictionary<string, object> ToDictionary(this IController controller, int? controllerNum = null)
393+
public static IReadOnlyDictionary<string, object> ToDictionary(this IController controller, int? controllerNum = null)
394394
{
395395
var buttons = new Dictionary<string, object>();
396396

0 commit comments

Comments
 (0)