public void SubscriptionInit() { // init RCLReturnEnum ret; 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(); string name = "subscription_test"; string nodeNamespace = "/ns"; IntPtr defaultNodeOptions = NativeMethods.rclcs_node_create_default_options(); NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions); rcl_subscription_t subscription = NativeMethods.rcl_get_zero_initialized_subscription(); IntPtr subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options(); MethodInfo m = typeof(std_msgs.msg.Bool).GetTypeInfo().GetDeclaredMethod("_GET_TYPE_SUPPORT"); IntPtr typeSupportHandle = (IntPtr)m.Invoke(null, new object[] { }); ret = (RCLReturnEnum)NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString()); // shutdown ret = (RCLReturnEnum)NativeMethods.rcl_subscription_fini(ref subscription, ref node); NativeMethods.rclcs_subscription_dispose_options(subscriptionOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString()); 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 void ShutdownSubscription(ref rcl_subscription_t subscription, IntPtr subscriptionOptions, ref rcl_node_t node) { RCLReturnEnum ret; ret = (RCLReturnEnum)NativeMethods.rcl_subscription_fini(ref subscription, ref node); NativeMethods.rclcs_subscription_dispose_options(subscriptionOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString()); }
public static void InitSubscription(ref rcl_subscription_t subscription, IntPtr subscriptionOptions, ref rcl_node_t node) { RCLReturnEnum ret; subscription = NativeMethods.rcl_get_zero_initialized_subscription(); subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options(); IMessageInternals msg = new std_msgs.msg.Bool(); IntPtr typeSupportHandle = msg.TypeSupportHandle; ret = (RCLReturnEnum)NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions); Assert.That(ret, Is.EqualTo(RCLReturnEnum.RCL_RET_OK), Utils.PopRclErrorString()); }
public void SetSubscriptionQosProfile() { rcl_subscription_t subscription = NativeMethods.rcl_get_zero_initialized_subscription(); IntPtr subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options(); NativeMethods.rclcs_subscription_set_qos_profile(subscriptionOptions, 0); MethodInfo m = typeof(std_msgs.msg.Bool).GetTypeInfo().GetDeclaredMethod("_GET_TYPE_SUPPORT"); IntPtr typeSupportHandle = (IntPtr)m.Invoke(null, new object[] { }); NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions); Assert.That(NativeMethods.rcl_subscription_is_valid(ref subscription), Is.True); NativeMethods.rcl_subscription_fini(ref subscription, ref node); NativeMethods.rclcs_subscription_dispose_options(subscriptionOptions); }
public void SetSubscriptionQosProfile() { rcl_subscription_t subscription = NativeMethods.rcl_get_zero_initialized_subscription(); IntPtr subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options(); NativeMethods.rclcs_subscription_set_qos_profile(subscriptionOptions, 0); IMessageInternals msg = new std_msgs.msg.Bool(); IntPtr typeSupportHandle = msg.TypeSupportHandle; NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions); Assert.That(NativeMethods.rcl_subscription_is_valid(ref subscription), Is.True); NativeMethods.rcl_subscription_fini(ref subscription, ref node); NativeMethods.rclcs_subscription_dispose_options(subscriptionOptions); }
public void SubscriptionInit() { rcl_context_t context = new rcl_context_t(); rcl_node_t node = new rcl_node_t(); IntPtr nodeOptions = new IntPtr(); RCLInitialize.InitRcl(ref context); NodeInitialize.InitNode(ref node, nodeOptions, ref context); rcl_subscription_t subscription = new rcl_subscription_t(); IntPtr subscriptionOptions = new IntPtr(); InitSubscription(ref subscription, subscriptionOptions, ref node); ShutdownSubscription(ref subscription, subscriptionOptions, ref node); NodeInitialize.ShutdownNode(ref node, nodeOptions); RCLInitialize.ShutdownRcl(ref context); }
public void SetUp() { // init 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(); string name = "subscription_test"; string nodeNamespace = "/ns"; defaultNodeOptions = NativeMethods.rclcs_node_create_default_options(); NativeMethods.rcl_node_init(ref node, name, nodeNamespace, ref context, defaultNodeOptions); subscription = NativeMethods.rcl_get_zero_initialized_subscription(); subscriptionOptions = NativeMethods.rclcs_subscription_create_default_options(); MethodInfo m = typeof(std_msgs.msg.Bool).GetTypeInfo().GetDeclaredMethod("_GET_TYPE_SUPPORT"); IntPtr typeSupportHandle = (IntPtr)m.Invoke(null, new object[] { }); NativeMethods.rcl_subscription_init(ref subscription, ref node, typeSupportHandle, "/subscriber_test_topic", subscriptionOptions); }
public void GetZeroInitializedSubscription() { rcl_subscription_t subscription = NativeMethods.rcl_get_zero_initialized_subscription(); }