Skip to content

Commit 0e94ba4

Browse files
jakobhellermannK0lb3
authored andcommitted
api: return not found as -2 using result enum
1 parent e9cc8a1 commit 0e94ba4

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

TypeTreeGeneratorAPI/NativeAPI.cs

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,23 @@ public static IntPtr TypeTreeGenerator_getLoadedDLLNames(IntPtr typeTreeGenerato
130130
var json = string.Join(",", names.Select(name => $"\"{name}\""));
131131
return Marshal.StringToCoTaskMemUTF8($"[{json}]");
132132
}
133+
134+
public enum GenerateTreeNodesResult
135+
{
136+
Ok = 0,
137+
Error = -1,
138+
NotFound = -2,
139+
}
133140

134141
[UnmanagedCallersOnly(EntryPoint = "TypeTreeGenerator_generateTreeNodesJson")]
135-
public static int TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGeneratorPtr, IntPtr assemblyNamePtr, IntPtr fullNamePtr, IntPtr jsonAddr)
142+
public static GenerateTreeNodesResult TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGeneratorPtr, IntPtr assemblyNamePtr, IntPtr fullNamePtr, IntPtr jsonAddr)
136143
{
137144
string? assemblyName = Marshal.PtrToStringUTF8(assemblyNamePtr);
138145
string? fullName = Marshal.PtrToStringUTF8(fullNamePtr);
139146

140147
if (typeTreeGeneratorPtr == IntPtr.Zero || assemblyName == null || fullName == null)
141148
{
142-
return -1;
149+
return GenerateTreeNodesResult.Error;
143150
}
144151
try
145152
{
@@ -149,7 +156,7 @@ public static int TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGenerat
149156
if (typeTreeNodes == null)
150157
{
151158
Marshal.WriteIntPtr(jsonAddr, IntPtr.Zero);
152-
return 0;
159+
return GenerateTreeNodesResult.NotFound;
153160
}
154161
var json = TypeTreeNodeSerializer.ToJson(typeTreeNodes!);
155162
Marshal.WriteIntPtr(jsonAddr, Marshal.StringToCoTaskMemUTF8(json));
@@ -158,19 +165,19 @@ public static int TypeTreeGenerator_generateTreeNodesJson(IntPtr typeTreeGenerat
158165
catch (Exception ex)
159166
{
160167
Console.WriteLine($"Error generating tree nodes:\n{ex.Message}");
161-
return -1;
168+
return GenerateTreeNodesResult.Error;
162169
}
163170
}
164171

165172
[UnmanagedCallersOnly(EntryPoint = "TypeTreeGenerator_generateTreeNodesRaw")]
166-
public static int TypeTreeGenerator_generateTreeNodesRaw(IntPtr typeTreeGeneratorPtr, IntPtr assemblyNamePtr, IntPtr fullNamePtr, IntPtr arrAddrPtr, IntPtr arrLengthPtr)
173+
public static GenerateTreeNodesResult TypeTreeGenerator_generateTreeNodesRaw(IntPtr typeTreeGeneratorPtr, IntPtr assemblyNamePtr, IntPtr fullNamePtr, IntPtr arrAddrPtr, IntPtr arrLengthPtr)
167174
{
168175
string? assemblyName = Marshal.PtrToStringUTF8(assemblyNamePtr);
169176
string? fullName = Marshal.PtrToStringUTF8(fullNamePtr);
170177

171178
if (typeTreeGeneratorPtr == IntPtr.Zero || assemblyName == null || fullName == null)
172179
{
173-
return -1;
180+
return GenerateTreeNodesResult.Error;
174181
}
175182
try
176183
{
@@ -180,19 +187,19 @@ public static int TypeTreeGenerator_generateTreeNodesRaw(IntPtr typeTreeGenerato
180187
{
181188
Marshal.WriteIntPtr(arrAddrPtr, IntPtr.Zero);
182189
Marshal.WriteInt32(arrLengthPtr, 0);
183-
return 0;
190+
return GenerateTreeNodesResult.NotFound;
184191
}
185192
var (arrayPtr, arrayLength) = TypeTreeNodeSerializer.ToRaw(typeTreeNodes!);
186193

187194
Marshal.WriteIntPtr(arrAddrPtr, arrayPtr);
188195
Marshal.WriteInt32(arrLengthPtr, arrayLength);
189196

190-
return 0;
197+
return GenerateTreeNodesResult.Ok;
191198
}
192199
catch (Exception ex)
193200
{
194201
Console.WriteLine($"Error generating tree nodes:\n{ex.Message}");
195-
return -1;
202+
return GenerateTreeNodesResult.Error;
196203
}
197204
}
198205

0 commit comments

Comments
 (0)