FastLED 3.9.15
Loading...
Searching...
No Matches

◆ methods()

json fl::Rpc::methods ( ) const

Returns flat method array: [["name", "returnType", [["param1", "type1"], ...]], ...] Format: Array of method tuples optimized for low-memory devices.

Each method is represented as: ["methodName", "returnType", [["param1", "type1"], ...]]

Definition at line 242 of file rpc.cpp.hpp.

242 {
243 json arr = json::array();
244 for (auto it = mRegistry.begin(); it != mRegistry.end(); ++it) {
245 // Format: ["methodName", "returnType", [["param1", "type1"], ["param2", "type2"]], "mode"]
246 json methodTuple = json::array();
247 methodTuple.push_back(it->first.c_str()); // Method name
248 methodTuple.push_back(it->second.mSchemaGenerator->resultTypeName()); // Return type
249 methodTuple.push_back(it->second.mSchemaGenerator->params()); // Params array
250
251 // Add mode (sync or async)
252 const char* modeStr = (it->second.mMode == RpcMode::ASYNC) ? "async" : "sync";
253 methodTuple.push_back(modeStr);
254
255 arr.push_back(methodTuple);
256 }
257 return arr;
258}
fl::unordered_map< fl::string, detail::RpcEntry > mRegistry
Definition rpc.h:387
static json array() FL_NOEXCEPT
Definition json.h:688

References fl::json::array(), fl::ASYNC, mRegistry, and fl::json::push_back().

Referenced by schema().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: