00001 /*************************************************************************** 00002 * Copyright (C) 2009,2010 by Rick L. Vinyard, Jr. * 00003 * rvinyard@cs.nmsu.edu * 00004 * * 00005 * This file is part of the dbus-cxx library. * 00006 * * 00007 * The dbus-cxx library is free software; you can redistribute it and/or * 00008 * modify it under the terms of the GNU General Public License * 00009 * version 3 as published by the Free Software Foundation. * 00010 * * 00011 * The dbus-cxx library is distributed in the hope that it will be * 00012 * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * 00013 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00014 * General Public License for more details. * 00015 * * 00016 * You should have received a copy of the GNU General Public License * 00017 * along with this software. If not see <http://www.gnu.org/licenses/>. * 00018 ***************************************************************************/ 00019 #include <dbus-cxx/callmessage.h> 00020 00021 #ifndef DBUSCXX_RETURNMESSAGE_H 00022 #define DBUSCXX_RETURNMESSAGE_H 00023 00024 namespace DBus 00025 { 00026 00038 class ReturnMessage : public Message 00039 { 00040 protected: 00041 00042 ReturnMessage( ); 00043 00044 ReturnMessage( DBusMessage* callee ); 00045 00046 ReturnMessage( Message::pointer callee ); 00047 00048 ReturnMessage( Message::const_pointer callee ); 00049 00050 public: 00051 00052 typedef DBusCxxPointer<ReturnMessage> pointer; 00053 00054 typedef DBusCxxPointer<const ReturnMessage> const_pointer; 00055 00056 typedef DBusCxxWeakPointer<ReturnMessage> weak_pointer; 00057 00058 static pointer create( ); 00059 00060 static pointer create( DBusMessage* callee ); 00061 00062 static pointer create( Message::pointer callee ); 00063 00064 static pointer create( Message::const_pointer callee ); 00065 00066 const char* signature() const; 00067 00068 bool has_signature( const std::string& signature ) const; 00069 00070 ReturnMessage& operator=( const Message& other ); 00071 00072 bool set_reply_serial( uint32_t ); 00073 00074 uint32_t reply_serial() const; 00075 00076 }; 00077 00078 00079 } 00080 00081 #endif