00001 00002 // -*- c++ -*- 00003 /* Do not edit! -- generated file */ 00004 00005 #ifndef DBUSMETHODPROXYBASE_H 00006 #define DBUSMETHODPROXYBASE_H 00007 00008 #include <string> 00009 00010 #include <sigc++/sigc++.h> 00011 00012 #include <dbus-cxx/enums.h> 00013 #include <dbus-cxx/pointer.h> 00014 #include <dbus-cxx/accumulators.h> 00015 #include <dbus-cxx/callmessage.h> 00016 #include <dbus-cxx/returnmessage.h> 00017 #include <dbus-cxx/pendingcall.h> 00018 00019 namespace DBus 00020 { 00021 class Connection; 00022 00023 class InterfaceProxy; 00024 00031 class MethodProxyBase 00032 { 00033 protected: 00034 00035 MethodProxyBase( const std::string& name ); 00036 00037 MethodProxyBase(const MethodProxyBase& other); 00038 00039 public: 00040 00041 typedef DBusCxxPointer<MethodProxyBase> pointer; 00042 00043 static pointer create( const std::string& name ); 00044 00045 ~MethodProxyBase(); 00046 00047 InterfaceProxy* interface() const; 00048 00049 const std::string& name() const; 00050 00051 void set_name( const std::string& name ); 00052 00053 CallMessage::pointer create_call_message( ) const; 00054 00055 ReturnMessage::const_pointer call( CallMessage::const_pointer, int timeout_milliseconds=-1 ) const; 00056 00057 00058 00059 PendingCall::pointer call_async( CallMessage::const_pointer, int timeout_milliseconds=-1 ) const; 00060 00061 sigc::signal<void,const std::string&/*old name*/, const std::string&/*new name*/> signal_name_changed(); 00062 00063 protected: 00064 00065 // Declare InterfaceProxy as a friend so that it can set the interface 00066 friend class InterfaceProxy; 00067 00068 InterfaceProxy* m_interface; 00069 00070 std::string m_name; 00071 00073 pthread_mutex_t m_name_mutex; 00074 00075 sigc::signal<void,const std::string&, const std::string&> m_signal_name_changed; 00076 00077 }; 00078 00079 } 00080 00081 #endif