/* Copyright (C) 2010 The giomm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see . */ #include _DEFS(giomm,gio) namespace Gio { namespace DBus { namespace Address { /** Checks if @a string is a D-Bus address. * * This doesn't check if @a string is actually supported by BusServer or * BusConnection - use is_supported_address() to do more checks. * * @param string A string. * @return true if @a string is a valid D-Bus address, false * otherwise. * @newin{2,28} * @ingroup DBus */ GIOMM_API bool is_address(const std::string& string); /** Like is_address() but also checks if the library supports the transports * in @a address and that key/value pairs for each transport are valid. * * @param address A supposed address. * @return true if @a address is a valid D-Bus address that is * supported by this library, false otherwise. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API bool is_supported(const std::string& address); /** Asynchronously connects to an endpoint specified by @a address and sets up * the connection so it is in a state to run the client-side of the D-Bus * authentication conversation. * * When the operation is finished, @a slot will be invoked. You can then call * get_stream_finish() to get the result of the operation. * * This is an asynchronous failable function. See get_stream_sync() for the * synchronous version. * * @param address A valid D-Bus address. * @param cancellable A Cancellable. * @param slot A SlotAsyncReady to call when the request is satisfied. * @newin{2,28} * @ingroup DBus */ GIOMM_API void get_stream(const std::string& address, const SlotAsyncReady slot, const Glib::RefPtr& cancellable); /// A non-cancellable version of get_stream(). GIOMM_API void get_stream(const std::string& address, const SlotAsyncReady slot); /** Finishes an operation started with get_stream(). * * @param res A AsyncResult obtained from the SlotAsyncReady passed to * get_stream(). * @param out_guid Return location to store the GUID extracted from address, * if any. * @return A IOStream. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API Glib::RefPtr get_stream_finish(const Glib::RefPtr& res, std::string& out_guid); /** Finishes an operation started with get_stream(). * * @param res A AsyncResult obtained from the SlotAsyncReady passed to * get_stream(). * @return A IOStream. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API Glib::RefPtr get_stream_finish(const Glib::RefPtr& res); /** Synchronously connects to an endpoint specified by @a address and sets up * the connection so it is in a state to run the client-side of the D-Bus * authentication conversation. * * This is a synchronous failable function. See get_stream() for the * asynchronous version. * * @param address A valid D-Bus address. * @param cancellable A Cancellable. * @param out_guid A return location to store the GUID extracted from address, * if any. * @return A IOStream. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API Glib::RefPtr get_stream_sync(const std::string& address, const Glib::RefPtr& cancellable, std::string& out_guid); /// A non-cancellable version of get_stream_sync(). GIOMM_API Glib::RefPtr get_stream_sync(const std::string& address, std::string& out_guid); /** Synchronously connects to an endpoint specified by @a address and sets up * the connection so it is in a state to run the client-side of the D-Bus * authentication conversation. * * This is a synchronous failable function. See get_stream() for the * asynchronous version. * * @param address A valid D-Bus address. * @param cancellable A Cancellable. * @return A IOStream. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API Glib::RefPtr get_stream_sync(const std::string& address, const Glib::RefPtr& cancellable); /// A non-cancellable version of get_stream_sync(). GIOMM_API Glib::RefPtr get_stream_sync(const std::string& address); /** Synchronously looks up the D-Bus address for the well-known message bus * instance specified by @a bus_type. This may involve using various platform * specific mechanisms. * * @param bus_type A BusType. * @param cancellable A Cancellable. * @return A valid D-Bus address string for @a bus_type. * @throw Glib::Error. * @newin{2,28} * @ingroup DBus */ GIOMM_API std::string get_for_bus_sync(BusType bus_type, const Glib::RefPtr& cancellable); /// A non-cancellable get_for_bus_sync(). GIOMM_API std::string get_for_bus_sync(BusType bus_type); } // namespace Address } // namespace DBus } // namespace Gio