本文整理汇总了C++中auto_ptr::RegisterAddress方法的典型用法代码示例。如果您正苦于以下问题:C++ auto_ptr::RegisterAddress方法的具体用法?C++ auto_ptr::RegisterAddress怎么用?C++ auto_ptr::RegisterAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类auto_ptr
的用法示例。
在下文中一共展示了auto_ptr::RegisterAddress方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testReceive
/**
* Check that we receive OSC messages correctly.
*/
void OSCNodeTest::testReceive() {
DmxBuffer expected_data;
// Register the test OSC Address with the OSCNode using the DMXHandler as the
// callback.
OLA_ASSERT_TRUE(m_osc_node->RegisterAddress(
TEST_OSC_ADDRESS, NewCallback(this, &OSCNodeTest::DMXHandler)));
// Attempt to register the same address with a different path, this should
// return false
OLA_ASSERT_FALSE(m_osc_node->RegisterAddress(
TEST_OSC_ADDRESS,
NewCallback(this, &OSCNodeTest::DMXHandler)));
// Using our test UDP socket, send the OSC_BLOB_DATA to the default OSC
// port. The OSCNode should receive the packet and call DMXHandler.
IPV4SocketAddress dest_address(IPV4Address::Loopback(),
m_osc_node->ListeningPort());
// send a single float update
m_udp_socket.SendTo(OSC_SINGLE_FLOAT_DATA, sizeof(OSC_SINGLE_FLOAT_DATA),
dest_address);
m_ss.Run();
OLA_ASSERT_EQ(512u, m_received_data.Size());
expected_data.SetChannel(0, 127);
OLA_ASSERT_EQ(expected_data, m_received_data);
// now send a blob update
m_udp_socket.SendTo(OSC_BLOB_DATA, sizeof(OSC_BLOB_DATA),
dest_address);
// Run the SelectServer, this will return either when DMXHandler
// completes, or the abort timeout triggers.
m_ss.Run();
OLA_ASSERT_EQ(11u, m_received_data.Size());
expected_data.SetFromString("0,1,2,3,4,5,6,7,8,9,10");
OLA_ASSERT_EQ(expected_data, m_received_data);
// Now try sending a float update.
m_udp_socket.SendTo(OSC_SINGLE_FLOAT_DATA, sizeof(OSC_SINGLE_FLOAT_DATA),
dest_address);
m_ss.Run();
OLA_ASSERT_EQ(11u, m_received_data.Size());
expected_data.SetChannel(0, 127);
OLA_ASSERT_EQ(expected_data, m_received_data);
// Now try sending an int update.
m_udp_socket.SendTo(OSC_SINGLE_INT_DATA, sizeof(OSC_SINGLE_INT_DATA),
dest_address);
m_ss.Run();
OLA_ASSERT_EQ(11u, m_received_data.Size());
expected_data.SetChannel(5, 140);
OLA_ASSERT_EQ(expected_data, m_received_data);
// An 'ii' update
m_udp_socket.SendTo(OSC_INT_TUPLE_DATA, sizeof(OSC_INT_TUPLE_DATA),
dest_address);
m_ss.Run();
OLA_ASSERT_EQ(11u, m_received_data.Size());
expected_data.SetChannel(7, 90);
OLA_ASSERT_EQ(expected_data, m_received_data);
// An 'if' update
m_udp_socket.SendTo(OSC_FLOAT_TUPLE_DATA, sizeof(OSC_FLOAT_TUPLE_DATA),
dest_address);
m_ss.Run();
OLA_ASSERT_EQ(11u, m_received_data.Size());
expected_data.SetChannel(8, 127);
OLA_ASSERT_EQ(expected_data, m_received_data);
// De-regsiter
OLA_ASSERT_TRUE(m_osc_node->RegisterAddress(TEST_OSC_ADDRESS, NULL));
// De-register a second time
OLA_ASSERT_TRUE(m_osc_node->RegisterAddress(TEST_OSC_ADDRESS, NULL));
}