13b5db5bcSBenjamin Kietzman // Copyright (c) Benjamin Kietzman (github.com/bkietz) 23b5db5bcSBenjamin Kietzman // 33b5db5bcSBenjamin Kietzman // Distributed under the Boost Software License, Version 1.0. (See accompanying 43b5db5bcSBenjamin Kietzman // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 53b5db5bcSBenjamin Kietzman 64317e4d9SBenjamin Kietzman #include <dbus/error.hpp> 7*da3eeb6aSEd Tanous #include <dbus/connection.hpp> 8*da3eeb6aSEd Tanous #include <dbus/endpoint.hpp> 9*da3eeb6aSEd Tanous #include <dbus/filter.hpp> 10*da3eeb6aSEd Tanous #include <dbus/match.hpp> 11*da3eeb6aSEd Tanous #include <dbus/message.hpp> 12*da3eeb6aSEd Tanous #include <gtest/gtest.h> 133b5db5bcSBenjamin Kietzman 14*da3eeb6aSEd Tanous TEST(MessageTest, CallMessage) { 15*da3eeb6aSEd Tanous const dbus::message m = 16*da3eeb6aSEd Tanous dbus::message::new_call(dbus::endpoint("org.freedesktop.Avahi", "/", 1716d80fe9SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 183b5db5bcSBenjamin Kietzman "GetHostName"); 193b5db5bcSBenjamin Kietzman 203b5db5bcSBenjamin Kietzman ASSERT_EQ("org.freedesktop.Avahi", m.get_destination()); 213b5db5bcSBenjamin Kietzman ASSERT_EQ("/", m.get_path()); 223b5db5bcSBenjamin Kietzman ASSERT_EQ("org.freedesktop.Avahi.Server", m.get_interface()); 233b5db5bcSBenjamin Kietzman ASSERT_EQ("GetHostName", m.get_member()); 243b5db5bcSBenjamin Kietzman 25*da3eeb6aSEd Tanous dbus::message m2 = 26*da3eeb6aSEd Tanous dbus::message::new_call(dbus::endpoint("org.freedesktop.Avahi", "/", 2744d24258SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 2844d24258SBenjamin Kietzman "GetHostName"); 2944d24258SBenjamin Kietzman 3044d24258SBenjamin Kietzman m2 << 1; 3144d24258SBenjamin Kietzman int i; 3244d24258SBenjamin Kietzman m2 >> i; 3344d24258SBenjamin Kietzman ASSERT_EQ(i, 1); 3444d24258SBenjamin Kietzman 353b5db5bcSBenjamin Kietzman // m.get_sender(); 363b5db5bcSBenjamin Kietzman } 374317e4d9SBenjamin Kietzman 384317e4d9SBenjamin Kietzman // I actually don't know what to do with these yet. 394317e4d9SBenjamin Kietzman /* 40*da3eeb6aSEd Tanous TEST(MessageTest, ErrorMessage) 414317e4d9SBenjamin Kietzman { 424317e4d9SBenjamin Kietzman 43*da3eeb6aSEd Tanous dbus::message m = dbus::message::new_call( 44*da3eeb6aSEd Tanous dbus::endpoint( 454317e4d9SBenjamin Kietzman "org.freedesktop.Avahi", 464317e4d9SBenjamin Kietzman "/", 474317e4d9SBenjamin Kietzman "org.freedesktop.Avahi.Server"), 484317e4d9SBenjamin Kietzman "GetHostName"); 494317e4d9SBenjamin Kietzman 504317e4d9SBenjamin Kietzman m.set_reply_serial(42); 514317e4d9SBenjamin Kietzman m.set_serial(43); 524317e4d9SBenjamin Kietzman 53*da3eeb6aSEd Tanous dbus::message em = dbus::message::new_error( 544317e4d9SBenjamin Kietzman m, 554317e4d9SBenjamin Kietzman "com.skizizo.NoHostname", 564317e4d9SBenjamin Kietzman "No hostname for you!"); 574317e4d9SBenjamin Kietzman 584317e4d9SBenjamin Kietzman const error e(em); 594317e4d9SBenjamin Kietzman 604317e4d9SBenjamin Kietzman e.throw_if_set(); 614317e4d9SBenjamin Kietzman } 624317e4d9SBenjamin Kietzman */ 63