Skip to content

Commit 62178fa

Browse files
committed
chore: M5 CI/Workflow Sweep - final synchronisation
1 parent a72425f commit 62178fa

2 files changed

Lines changed: 35 additions & 35 deletions

File tree

ffi/zig/src/main.zig

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// {{PROJECT}} FFI Implementation
1+
// UNIVERSAL_PROJECT_MANAGER FFI Implementation
22
//
33
// This module implements the C-compatible FFI declared in src/abi/Foreign.idr
44
// All types and layouts must match the Idris2 ABI definitions.
@@ -9,7 +9,7 @@ const std = @import("std");
99

1010
// Version information (keep in sync with project)
1111
const VERSION = "0.1.0";
12-
const BUILD_INFO = "{{PROJECT}} built with Zig " ++ @import("builtin").zig_version_string;
12+
const BUILD_INFO = "UNIVERSAL_PROJECT_MANAGER built with Zig " ++ @import("builtin").zig_version_string;
1313

1414
/// Thread-local error storage
1515
threadlocal var last_error: ?[]const u8 = null;
@@ -51,7 +51,7 @@ pub const Handle = opaque {
5151

5252
/// Initialize the library
5353
/// Returns a handle, or null on failure
54-
export fn {{project}}_init() ?*Handle {
54+
export fn universal_project_manager_init() ?*Handle {
5555
const allocator = std.heap.c_allocator;
5656

5757
const handle = allocator.create(Handle) catch {
@@ -70,7 +70,7 @@ export fn {{project}}_init() ?*Handle {
7070
}
7171

7272
/// Free the library handle
73-
export fn {{project}}_free(handle: ?*Handle) void {
73+
export fn universal_project_manager_free(handle: ?*Handle) void {
7474
const h = handle orelse return;
7575
const allocator = h.allocator;
7676

@@ -86,7 +86,7 @@ export fn {{project}}_free(handle: ?*Handle) void {
8686
//==============================================================================
8787

8888
/// Process data (example operation)
89-
export fn {{project}}_process(handle: ?*Handle, input: u32) Result {
89+
export fn universal_project_manager_process(handle: ?*Handle, input: u32) Result {
9090
const h = handle orelse {
9191
setError("Null handle");
9292
return .null_pointer;
@@ -110,7 +110,7 @@ export fn {{project}}_process(handle: ?*Handle, input: u32) Result {
110110

111111
/// Get a string result (example)
112112
/// Caller must free the returned string
113-
export fn {{project}}_get_string(handle: ?*Handle) ?[*:0]const u8 {
113+
export fn universal_project_manager_get_string(handle: ?*Handle) ?[*:0]const u8 {
114114
const h = handle orelse {
115115
setError("Null handle");
116116
return null;
@@ -132,7 +132,7 @@ export fn {{project}}_get_string(handle: ?*Handle) ?[*:0]const u8 {
132132
}
133133

134134
/// Free a string allocated by the library
135-
export fn {{project}}_free_string(str: ?[*:0]const u8) void {
135+
export fn universal_project_manager_free_string(str: ?[*:0]const u8) void {
136136
const s = str orelse return;
137137
const allocator = std.heap.c_allocator;
138138

@@ -145,7 +145,7 @@ export fn {{project}}_free_string(str: ?[*:0]const u8) void {
145145
//==============================================================================
146146

147147
/// Process an array of data
148-
export fn {{project}}_process_array(
148+
export fn universal_project_manager_process_array(
149149
handle: ?*Handle,
150150
buffer: ?[*]const u8,
151151
len: u32,
@@ -181,7 +181,7 @@ export fn {{project}}_process_array(
181181

182182
/// Get the last error message
183183
/// Returns null if no error
184-
export fn {{project}}_last_error() ?[*:0]const u8 {
184+
export fn universal_project_manager_last_error() ?[*:0]const u8 {
185185
const err = last_error orelse return null;
186186

187187
// Return C string (static storage, no need to free)
@@ -195,12 +195,12 @@ export fn {{project}}_last_error() ?[*:0]const u8 {
195195
//==============================================================================
196196

197197
/// Get the library version
198-
export fn {{project}}_version() [*:0]const u8 {
198+
export fn universal_project_manager_version() [*:0]const u8 {
199199
return VERSION.ptr;
200200
}
201201

202202
/// Get build information
203-
export fn {{project}}_build_info() [*:0]const u8 {
203+
export fn universal_project_manager_build_info() [*:0]const u8 {
204204
return BUILD_INFO.ptr;
205205
}
206206

@@ -212,7 +212,7 @@ export fn {{project}}_build_info() [*:0]const u8 {
212212
pub const Callback = *const fn (u64, u32) callconv(.C) u32;
213213

214214
/// Register a callback
215-
export fn {{project}}_register_callback(
215+
export fn universal_project_manager_register_callback(
216216
handle: ?*Handle,
217217
callback: ?Callback,
218218
) Result {
@@ -243,7 +243,7 @@ export fn {{project}}_register_callback(
243243
//==============================================================================
244244

245245
/// Check if handle is initialized
246-
export fn {{project}}_is_initialized(handle: ?*Handle) u32 {
246+
export fn universal_project_manager_is_initialized(handle: ?*Handle) u32 {
247247
const h = handle orelse return 0;
248248
return if (h.initialized) 1 else 0;
249249
}
@@ -253,22 +253,22 @@ export fn {{project}}_is_initialized(handle: ?*Handle) u32 {
253253
//==============================================================================
254254

255255
test "lifecycle" {
256-
const handle = {{project}}_init() orelse return error.InitFailed;
257-
defer {{project}}_free(handle);
256+
const handle = universal_project_manager_init() orelse return error.InitFailed;
257+
defer universal_project_manager_free(handle);
258258

259-
try std.testing.expect({{project}}_is_initialized(handle) == 1);
259+
try std.testing.expect(universal_project_manager_is_initialized(handle) == 1);
260260
}
261261

262262
test "error handling" {
263-
const result = {{project}}_process(null, 0);
263+
const result = universal_project_manager_process(null, 0);
264264
try std.testing.expectEqual(Result.null_pointer, result);
265265

266-
const err = {{project}}_last_error();
266+
const err = universal_project_manager_last_error();
267267
try std.testing.expect(err != null);
268268
}
269269

270270
test "version" {
271-
const ver = {{project}}_version();
271+
const ver = universal_project_manager_version();
272272
const ver_str = std.mem.span(ver);
273273
try std.testing.expectEqualStrings(VERSION, ver_str);
274274
}

src/abi/Foreign.idr

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
-- SPDX-License-Identifier: PMPL-1.0-or-later
2-
||| Foreign Function Interface Declarations
1+
||| SPDX-License-Identifier: PMPL-1.0-or-later
2+
||| Foreign Function Interface Declarations for UNIVERSAL_PROJECT_MANAGER
33
|||
44
||| This module declares all C-compatible functions that will be
55
||| implemented in the Zig FFI layer.
66
|||
77
||| All functions are declared here with type signatures and safety proofs.
88
||| Implementations live in ffi/zig/
99

10-
module {{PROJECT}}.ABI.Foreign
10+
module UniversalProjectManager.ABI.Foreign
1111

12-
import {{PROJECT}}.ABI.Types
13-
import {{PROJECT}}.ABI.Layout
12+
import UniversalProjectManager.ABI.Types
13+
import UniversalProjectManager.ABI.Layout
1414

1515
%default total
1616

@@ -21,7 +21,7 @@ import {{PROJECT}}.ABI.Layout
2121
||| Initialize the library
2222
||| Returns a handle to the library instance, or Nothing on failure
2323
export
24-
%foreign "C:{{project}}_init, lib{{project}}"
24+
%foreign "C:universal_project_manager_init, libuniversal_project_manager"
2525
prim__init : PrimIO Bits64
2626

2727
||| Safe wrapper for library initialization
@@ -33,7 +33,7 @@ init = do
3333

3434
||| Clean up library resources
3535
export
36-
%foreign "C:{{project}}_free, lib{{project}}"
36+
%foreign "C:universal_project_manager_free, libuniversal_project_manager"
3737
prim__free : Bits64 -> PrimIO ()
3838

3939
||| Safe wrapper for cleanup
@@ -47,7 +47,7 @@ free h = primIO (prim__free (handlePtr h))
4747

4848
||| Example operation: process data
4949
export
50-
%foreign "C:{{project}}_process, lib{{project}}"
50+
%foreign "C:universal_project_manager_process, libuniversal_project_manager"
5151
prim__process : Bits64 -> Bits32 -> PrimIO Bits32
5252

5353
||| Safe wrapper with error handling
@@ -70,12 +70,12 @@ prim__getString : Bits64 -> String
7070

7171
||| Free C string
7272
export
73-
%foreign "C:{{project}}_free_string, lib{{project}}"
73+
%foreign "C:universal_project_manager_free_string, libuniversal_project_manager"
7474
prim__freeString : Bits64 -> PrimIO ()
7575

7676
||| Get string result from library
7777
export
78-
%foreign "C:{{project}}_get_string, lib{{project}}"
78+
%foreign "C:universal_project_manager_get_string, libuniversal_project_manager"
7979
prim__getResult : Bits64 -> PrimIO Bits64
8080

8181
||| Safe string getter
@@ -96,7 +96,7 @@ getString h = do
9696

9797
||| Process array data
9898
export
99-
%foreign "C:{{project}}_process_array, lib{{project}}"
99+
%foreign "C:universal_project_manager_process_array, libuniversal_project_manager"
100100
prim__processArray : Bits64 -> Bits64 -> Bits32 -> PrimIO Bits32
101101

102102
||| Safe array processor
@@ -123,7 +123,7 @@ processArray h buf len = do
123123

124124
||| Get last error message
125125
export
126-
%foreign "C:{{project}}_last_error, lib{{project}}"
126+
%foreign "C:universal_project_manager_last_error, libuniversal_project_manager"
127127
prim__lastError : PrimIO Bits64
128128

129129
||| Retrieve last error as string
@@ -150,7 +150,7 @@ errorDescription NullPointer = "Null pointer"
150150

151151
||| Get library version
152152
export
153-
%foreign "C:{{project}}_version, lib{{project}}"
153+
%foreign "C:universal_project_manager_version, libuniversal_project_manager"
154154
prim__version : PrimIO Bits64
155155

156156
||| Get version as string
@@ -162,7 +162,7 @@ version = do
162162

163163
||| Get library build info
164164
export
165-
%foreign "C:{{project}}_build_info, lib{{project}}"
165+
%foreign "C:universal_project_manager_build_info, libuniversal_project_manager"
166166
prim__buildInfo : PrimIO Bits64
167167

168168
||| Get build information
@@ -183,7 +183,7 @@ Callback = Bits64 -> Bits32 -> Bits32
183183

184184
||| Register a callback
185185
export
186-
%foreign "C:{{project}}_register_callback, lib{{project}}"
186+
%foreign "C:universal_project_manager_register_callback, libuniversal_project_manager"
187187
prim__registerCallback : Bits64 -> AnyPtr -> PrimIO Bits32
188188

189189
||| Safe callback registration
@@ -206,7 +206,7 @@ registerCallback h cb = do
206206

207207
||| Check if library is initialized
208208
export
209-
%foreign "C:{{project}}_is_initialized, lib{{project}}"
209+
%foreign "C:universal_project_manager_is_initialized, libuniversal_project_manager"
210210
prim__isInitialized : Bits64 -> PrimIO Bits32
211211

212212
||| Check initialization status

0 commit comments

Comments
 (0)