dbus-cxx logo

methodproxybase.h

Go to the documentation of this file.
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

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