# secsgem-client (C++) The C++ twin of [clients/python](../python): a header-only client for the `secs_gemd` daemon. Name-based, plain-typed, no SEMI knowledge required. ```cpp #include "secsgem_client/equipment.hpp" secsgem_client::Equipment eq("localhost:50051"); eq.set("ChamberPressure", 2.5); // host sees it on its next poll eq.fire("ProcessStarted"); // S6F11, report auto-assembled eq.alarm("chiller_temp_high"); // S5F1 set / eq.clear(...) clears eq.on("START", [&](const secsgem_client::Command& cmd) { run_recipe(cmd.params.at("PPID")); eq.fire("ProcessStarted"); // the host's completion signal }); eq.listen(); // or listen_async() + stop() ``` Errors throw `secsgem_client::SecsGemError` carrying the daemon's explanation. Build: include this header, compile the generated `equipment.pb.cc` / `equipment.grpc.pb.cc` from [proto/secsgem/v1](../../proto/secsgem/v1/equipment.proto), link `grpc++`. In this repo the `cpp_mini_tool` CMake target (built when grpc is present) is the worked example; out of tree, copy its four-line target definition.