Changeset 1297 for branches/libffado-2.0
- Timestamp:
- 07/13/08 15:35:22 (16 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/libffado-2.0/support/dbus/control-interface.xml
r1173 r1297 31 31 <arg type="s" name="name" direction="out"/> 32 32 </method> 33 <signal name="Destroyed"></signal> 33 34 <signal name="Updated"></signal> 35 <signal name="PreUpdate"></signal> 36 <signal name="PostUpdate"></signal> 34 37 </interface> 35 38 branches/libffado-2.0/support/dbus/controlserver.cpp
r1201 r1297 44 44 // allocate a lock 45 45 if(parent == NULL) { 46 m_UpdateLock = new Util::PosixMutex( );46 m_UpdateLock = new Util::PosixMutex("CTLSVEL"); 47 47 } else { 48 48 m_UpdateLock = NULL; … … 129 129 130 130 // register an update signal handler 131 m_updateFunctor = new MemberSignalFunctor < Container*,131 m_updateFunctor = new MemberSignalFunctor1< Container*, 132 132 void (Container::*)(int) > 133 133 ( this, &Container::updated, (int)Control::Container::eS_Updated ); … … 148 148 debugOutput( DEBUG_LEVEL_VERBOSE, "Deleting Container on '%s'\n", 149 149 path().c_str() ); 150 151 Destroyed(); //send dbus signal 152 150 153 if(m_updateFunctor) { 151 154 if(!m_Slave.remSignalHandler(m_updateFunctor)) { … … 201 204 bool something_changed = false; 202 205 debugOutput( DEBUG_LEVEL_VERBOSE, "Updating tree...\n"); 206 // send a pre update signal 207 PreUpdate(); 203 208 debugOutput( DEBUG_LEVEL_VERBOSE, "Add handlers for elements...\n"); 204 209 // add handlers for the slaves that don't have one yet … … 272 277 Updated(); 273 278 } 279 // send a post update signal 280 PostUpdate(); 274 281 } 275 282 branches/libffado-2.0/support/dbus/controlserver.h
r1173 r1297 45 45 46 46 template< typename CalleePtr, typename MemFunPtr > 47 class MemberSignalFunctor 47 class MemberSignalFunctor0 48 48 : public Control::SignalFunctor 49 49 { 50 50 public: 51 MemberSignalFunctor ( const CalleePtr& pCallee,51 MemberSignalFunctor0( const CalleePtr& pCallee, 52 52 MemFunPtr pMemFun, 53 53 int pSignalId) … … 57 57 {} 58 58 59 virtual ~MemberSignalFunctor ()59 virtual ~MemberSignalFunctor0() 60 60 {} 61 62 virtual void operator() () 63 { 64 ( ( *m_pCallee ).*m_pMemFun )(); 65 } 66 virtual void operator() (int) {} 67 private: 68 CalleePtr m_pCallee; 69 MemFunPtr m_pMemFun; 70 }; 71 72 template< typename CalleePtr, typename MemFunPtr > 73 class MemberSignalFunctor1 74 : public Control::SignalFunctor 75 { 76 public: 77 MemberSignalFunctor1( const CalleePtr& pCallee, 78 MemFunPtr pMemFun, 79 int pSignalId) 80 : Control::SignalFunctor( pSignalId ) 81 , m_pCallee( pCallee ) 82 , m_pMemFun( pMemFun ) 83 {} 84 85 virtual ~MemberSignalFunctor1() 86 {} 87 88 virtual void operator() () {} 61 89 62 90 virtual void operator() (int value) … … 119 147 120 148 void updated(int new_nb_elements); 149 void destroyed(); 150 121 151 void setVerboseLevel( const DBus::Int32 &); 122 152 private: branches/libffado-2.0/support/dbus/ffado-dbus-server.cpp
r1238 r1297 333 333 delete postupdate_functor; 334 334 delete container; 335 delete m_deviceManager; 335 336 336 337 signal (SIGINT, SIG_DFL); 337 delete m_deviceManager;338 338 339 339 printMessage(" Bye.\n");