TiJet gRPC SDK Reference Manual
Version 1.0.0 | Based on proto contract
tincore.TinCoreservice
Architecture
$$proto/tincore.proto ← Single source of truth
│
├── sdk/c/ libtijet_c.so ← C ABI (C/C++/embedded — ABI compatibility)
├── sdk/python/tijet_grpc/ ← Python (native grpcio)
├── sdk/java/ ← Java (native grpc-java + Netty)
├── sdk/csharp/TiJet.Grpc/ ← C# (native Grpc.Net.Client)
└── sdk/cpp/ ← C++ lightweight wrapper (header-only)$$
Core principle: Each layer uses the language’s native gRPC library (not C FFI), but API shapes remain consistent.
Quickstart
C
#include "tijet_core.h"
int main(void) {
tijet_client_t *cli = tijet_client_create();
if (tijet_client_connect(cli, NULL) != TIJET_OK) {
fprintf(stderr, "Connection failed: %s\n", tijet_client_last_error(cli));
tijet_client_destroy(cli);
return 1;
}
tijet_client_set_parameter(cli, "print_speed", "100");
tijet_client_disconnect(cli);
tijet_client_destroy(cli);
return 0;
}
Python
from tijet_grpc import TinCore
with TinCore() as client:
client.connect()
client.set_parameter("print_speed", "100")
speed = client.get_parameter("print_speed")
print(f"print_speed = {speed}")
Java
import com.tijet.grpc.TinCore;
try (TinCore client = new TinCore()) {
client.connect(null);
client.setParameter("print_speed", "100");
String speed = client.getParameter("print_speed");
System.out.println("print_speed = " + speed);
}
C#
using TiJet.Grpc;
using var client = new TinCore();
client.Connect(null);
client.SetParameter("print_speed", "100");
string speed = client.GetParameter("print_speed");
Console.WriteLine($"print_speed = {speed}");
SDK Status
| SDK | Implementation | Tests | Docs |
|---|---|---|---|
| C | ✅ Complete | — | Doxygen |
| Python | ✅ Complete | — | docstring |
| Java | ✅ Complete | — | Javadoc |
| C# | ✅ Complete | — | XML doc |
| C++ wrapper | ✅ Complete | — | — |
Note: For the complete reference manual including all API details, error codes, parameter registry, and event/log subscriptions, see the Chinese documentation.