public void NodeInit() { rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options(); rcl_allocator_t allocator = NativeMethods.rcl_get_default_allocator(); NativeMethods.rcl_init_options_init(ref init_options, allocator); rcl_context_t context = NativeMethods.rcl_get_zero_initialized_context(); NativeMethods.rcl_init(0, null, ref init_options, ref context); rcl_node_t node = NativeMethods.rcl_get_zero_initialized_node(); IntPtr defaultNodeOptions = NativeMethods.rclcs_node_create_default_options(); string name = "node_test"; string nodeNamespace = "/ns"; RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK)); NativeMethods.rcl_node_fini(ref node); NativeMethods.rclcs_node_dispose_options(defaultNodeOptions); NativeMethods.rcl_shutdown(ref context); NativeMethods.rcl_context_fini(ref context); }
public static bool Take(ISubscriptionBase subscription, Message message) { rcl_subscription_t subscription_handle = subscription.Handle; IntPtr message_handle = message.Handle; RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_take(ref subscription_handle, message_handle, IntPtr.Zero); return(ret == RCLReturnEnum.RCL_RET_OK); }
public static void InitNode(ref rcl_node_t node, IntPtr nodeOptions, ref rcl_context_t context) { node = NativeMethods.rcl_get_zero_initialized_node(); nodeOptions = NativeMethods.rclcs_node_create_default_options(); string name = "node_test"; string nodeNamespace = "/ns"; RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, nodeOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK)); }
public void SetUp() { rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options(); allocator = NativeMethods.rcl_get_default_allocator(); NativeMethods.rcl_init_options_init(ref init_options, allocator); context = NativeMethods.rcl_get_zero_initialized_context(); NativeMethods.rcl_init(0, null, ref init_options, ref context); node = NativeMethods.rcl_get_zero_initialized_node(); defaultNodeOptions = NativeMethods.rclcs_node_create_default_options(); string nodeName = "node_test"; string nodeNamespace = "/ns"; RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_node_init(ref node, nodeName, nodeNamespace, ref context, defaultNodeOptions); }
public void WaitSetAddSubscription() { NativeMethods.rcl_reset_error(); rcl_wait_set_t waitSet = NativeMethods.rcl_get_zero_initialized_wait_set(); TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_init(ref waitSet, 1, 0, 0, 0, 0, allocator)); TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_clear(ref waitSet)); Assert.That(NativeMethods.rcl_subscription_is_valid(ref subscription), Is.True); TestUtils.AssertRetOk(NativeMethods.rcl_wait_set_add_subscription(ref waitSet, ref subscription, UIntPtr.Zero)); RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_wait(ref waitSet, Utils.TimeoutSecToNsec(0.01)); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_TIMEOUT)); }
public void InitValidArgs() { rcl_init_options_t init_options = NativeMethods.rcl_get_zero_initialized_init_options(); rcl_allocator_t allocator = NativeMethods.rcl_get_default_allocator(); NativeMethods.rcl_init_options_init(ref init_options, allocator); rcl_context_t context = NativeMethods.rcl_get_zero_initialized_context(); RCLReturnEnum ret = (RCLReturnEnum)NativeMethods.rcl_init(2, new string[] { "foo", "bar" }, ref init_options, ref context); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK)); Assert.That(NativeMethods.rcl_context_is_valid(ref context), Is.True); ret = (RCLReturnEnum)NativeMethods.rcl_shutdown(ref context); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK)); ret = (RCLReturnEnum)NativeMethods.rcl_context_fini(ref context); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK)); }