dbus-cxx logo

callmessage.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2009 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 #ifndef DBUSCALLMESSAGE_H
00020 #define DBUSCALLMESSAGE_H
00021 
00022 #include <dbus-cxx/message.h>
00023 
00024 namespace DBus
00025 {
00026 
00037   class CallMessage : public Message
00038   {
00039     protected:
00040       
00041       CallMessage();
00042 
00043       CallMessage( DBusMessage* cobj );
00044 
00045       CallMessage( Message::pointer msg );
00046 
00047       CallMessage( Message::const_pointer msg );
00048 
00049       CallMessage( const std::string& dest, const std::string& path, const std::string& iface, const std::string& method );
00050 
00051       CallMessage( const std::string& path, const std::string& iface, const std::string& method );
00052 
00053       CallMessage( const std::string& path, const std::string& method );
00054 
00055     public:
00056 
00057       typedef DBusCxxPointer<CallMessage> pointer;
00058 
00059       typedef DBusCxxPointer<const CallMessage> const_pointer;
00060 
00061       typedef DBusCxxWeakPointer<CallMessage> weak_pointer;
00062 
00063       static pointer create();
00064 
00065       static pointer create( DBusMessage* cobj );
00066 
00067       static pointer create( Message::pointer msg );
00068 
00069       static const_pointer create(Message::const_pointer msg);
00070 
00071       static pointer create( const std::string& dest, const std::string& path, const std::string& iface, const std::string& method );
00072 
00073       static pointer create( const std::string& path, const std::string& iface, const std::string& method );
00074 
00075       static pointer create( const std::string& path, const std::string& method );
00076 
00077       bool set_path( const std::string& p );
00078 
00079       Path path() const;
00080 
00081       bool has_path( const std::string& p ) const;
00082 
00083       std::vector<std::string> path_decomposed() const;
00084 
00085       bool set_interface( const std::string& i );
00086 
00087       const char* interface() const;
00088 
00089       bool has_interface( const std::string& i ) const;
00090 
00091       bool set_member( const std::string& m );
00092 
00093       const char* member() const;
00094 
00095       bool has_member( const std::string& m ) const;
00096 
00097       const char* signature() const;
00098 
00099       bool has_signature( const std::string& signature ) const;
00100 
00101       bool operator == ( const CallMessage& ) const;
00102 
00103       void set_no_reply( bool no_reply=true );
00104 
00105       bool expects_reply() const;
00106 
00107   };
00108 
00109 
00110 }
00111 
00112 #endif

Generated on Wed Sep 30 11:14:35 2009 for dbus-cxx by doxygen 1.6.1