JSONRPC
A helper to handle dictionaries which look like JSONRPC documents.
JSONRPC.swift:11class JSONRPC
JSON-RPC is a standard which wraps a method call in a JSON
object. The object has a particular structure and identifies which method is called, the parameters to that function, and carries an ID to keep track of responses. This class implements that standard on top of GDictionary
; you will have to convert between a GDictionary
and JSON
with other functions.
Superclasses
class Object
Base class for all other classes in the engine.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Types
Type members
Instance members
func makeNotification(method: String, params: Variant
) -> GDictionary Returns a dictionary in the form of a JSON-RPC notification. Notifications are one-shot messages which do not expect a response.
func makeRequest(method: String, params: Variant, id: Variant
) -> GDictionary Returns a dictionary in the form of a JSON-RPC request. Requests are sent to a server with the expectation of a response. The ID field is used for the server to specify which exact request it is responding to.
func makeResponse(result: Variant, id: Variant
) -> GDictionary When a server has received and processed a request, it is expected to send a response. If you did not want a response then you need to have sent a Notification instead.
func makeResponseError(code: Int32, message: String, id: Variant
) -> GDictionary Creates a response which indicates a previous reply has failed in some way.
func processAction(Variant, recurse: Bool
) -> Variant Given a Dictionary which takes the form of a JSON-RPC request: unpack the request and run it. Methods are resolved by looking at the field called “method” and looking for an equivalently named function in the JSONRPC object. If one is found that method is called.
func processString(action: String
) -> String func setScope(String, target: Object?
)