src/rclnim/typesupports/types

Source   Edit  

Types

MessageTypesupport[T] = object
  name*: string
  rosidlTypesupport*: ptr rosidl_message_type_support_t
  vtable*: ptr TypesupportVTable[T]
Source   Edit  
ServiceTypesupport[T] = object
  name*: string
  rosidlTypesupport*: ptr rosidl_service_type_support_t
  requestVTable*: ptr TypesupportVTable[Request[T]]
  responseVTable*: ptr TypesupportVTable[Response[T]]
Source   Edit  
TypesupportVTable[T] = object
  encode*: proc (msg: T): pointer {.nimcall, ...gcsafe, raises: [].}
  decode*: proc (encoded: pointer): T {.nimcall, ...gcsafe, raises: [].}
  create*: proc (): pointer {.nimcall, ...gcsafe, raises: [].}
  delete*: proc (encoded: pointer) {.nimcall, ...gcsafe, raises: [].}
Source   Edit  

Procs

proc create[T](self`gensym0: MessageTypesupport[T]): pointer
Source   Edit  
proc createRequest[T](self`gensym1: ServiceTypesupport[T]): pointer
Source   Edit  
proc createResponse[T](self`gensym2: ServiceTypesupport[T]): pointer
Source   Edit  
proc decode[T](self`gensym0: MessageTypesupport[T]; encoded`gensym0: pointer): T
Source   Edit  
proc decodeRequest[T](self`gensym1: ServiceTypesupport[T];
                      encoded`gensym1: pointer): T.Request
Source   Edit  
proc decodeResponse[T](self`gensym2: ServiceTypesupport[T];
                       encoded`gensym2: pointer): T.Response
Source   Edit  
proc delete[T](self`gensym0: MessageTypesupport[T]; encoded`gensym0: pointer)
Source   Edit  
proc deleteRequest[T](self`gensym1: ServiceTypesupport[T];
                      encoded`gensym1: pointer)
Source   Edit  
proc deleteResponse[T](self`gensym2: ServiceTypesupport[T];
                       encoded`gensym2: pointer)
Source   Edit  
proc encode[T](self`gensym0: MessageTypesupport[T]; msg`gensym0: T): pointer
Source   Edit  
proc encodeRequest[T](self`gensym1: ServiceTypesupport[T];
                      msg`gensym1: T.Request): pointer
Source   Edit  
proc encodeResponse[T](self`gensym2: ServiceTypesupport[T];
                       msg`gensym2: T.Response): pointer
Source   Edit