-
Notifications
You must be signed in to change notification settings - Fork 396
Expand file tree
/
Copy pathINodeInfoReader.cs
More file actions
34 lines (31 loc) · 1.25 KB
/
INodeInfoReader.cs
File metadata and controls
34 lines (31 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Diagnostics.Contracts;
using ReClassNET.Memory;
namespace ReClassNET.Nodes
{
[ContractClass(typeof(NodeInfoReaderContract))]
public interface INodeInfoReader
{
/// <summary>
/// Used to print custom informations about a node.
/// </summary>
/// <param name="node">The node.</param>
/// <param name="reader">The current <see cref="IRemoteMemoryReader"/>.</param>
/// <param name="memory">The current <see cref="MemoryBuffer"/>.</param>
/// <param name="nodeAddress">The absolute address of the node.</param>
/// <param name="nodeValue">The memory value of the node as <see cref="IntPtr"/>.</param>
/// <returns>Custom informations about the node or null.</returns>
string ReadNodeInfo(BaseHexCommentNode node, IRemoteMemoryReader reader, MemoryBuffer memory, IntPtr nodeAddress, IntPtr nodeValue);
}
[ContractClassFor(typeof(INodeInfoReader))]
internal abstract class NodeInfoReaderContract : INodeInfoReader
{
public string ReadNodeInfo(BaseHexCommentNode node, IRemoteMemoryReader reader, MemoryBuffer memory, IntPtr nodeAddress, IntPtr nodeValue)
{
Contract.Requires(node != null);
Contract.Requires(reader != null);
Contract.Requires(memory != null);
throw new NotImplementedException();
}
}
}