コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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));
        }