Changeset 739 for trunk/libffado/src/libieee1394
- Timestamp:
- 11/28/07 12:02:08 (15 years ago)
- Files:
-
- trunk/libffado/src/libieee1394/configrom.cpp (modified) (7 diffs)
- trunk/libffado/src/libieee1394/configrom.h (modified) (4 diffs)
- trunk/libffado/src/libieee1394/ieee1394service.cpp (modified) (4 diffs)
- trunk/libffado/src/libieee1394/ieee1394service.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libffado/src/libieee1394/configrom.cpp
r736 r739 62 62 ConfigRom::ConfigRom( Ieee1394Service& ieee1394service, fb_nodeid_t nodeId ) 63 63 : Control::Element("ConfigRom") 64 , m_1394Service( &ieee1394service )64 , m_1394Service( ieee1394service ) 65 65 , m_nodeId( nodeId ) 66 66 , m_avcDevice( false ) // FIXME: this does not seem veryu … … 89 89 ConfigRom::ConfigRom() 90 90 : Control::Element("ConfigRom") 91 , m_1394Service( 0)91 , m_1394Service( *(new Ieee1394Service()) ) 92 92 , m_nodeId( -1 ) 93 93 , m_avcDevice( false ) // FIXME: this does not seem veryu … … 114 114 } 115 115 116 ConfigRom::~ConfigRom() 117 { 116 Ieee1394Service& 117 ConfigRom::get1394Service() 118 { 119 return m_1394Service; 118 120 } 119 121 … … 133 135 { 134 136 struct config_csr_info csr_info; 135 csr_info.service = m_1394Service;137 csr_info.service = &m_1394Service; 136 138 csr_info.nodeId = 0xffc0 | m_nodeId; 137 139 … … 140 142 &csr_info ); 141 143 if (!m_csr || csr1212_parse_csr( m_csr ) != CSR1212_SUCCESS) { 142 debugError( "Could not parse config rom of node %d on port %d\n", m_nodeId, m_1394Service ->getPort() );144 debugError( "Could not parse config rom of node %d on port %d\n", m_nodeId, m_1394Service.getPort() ); 143 145 if (m_csr) { 144 146 csr1212_destroy_csr(m_csr); … … 451 453 struct csr1212_csr* csr = NULL; 452 454 for ( fb_nodeid_t nodeId = 0; 453 nodeId < m_1394Service ->getNodeCount();455 nodeId < m_1394Service.getNodeCount(); 454 456 ++nodeId ) 455 457 { 456 458 struct config_csr_info csr_info; 457 csr_info.service = m_1394Service;459 csr_info.service = &m_1394Service; 458 460 csr_info.nodeId = 0xffc0 | nodeId; 459 461 debugOutput( DEBUG_LEVEL_VERBOSE, "Looking at node %d...\n", nodeId); … … 577 579 } 578 580 579 pConfigRom->m_1394Service = &ieee1394Service;581 pConfigRom->m_1394Service = ieee1394Service; 580 582 581 583 bool result; trunk/libffado/src/libieee1394/configrom.h
r673 r739 44 44 public: 45 45 ConfigRom( Ieee1394Service& ieee1394service, fb_nodeid_t nodeId ); 46 virtual ~ConfigRom(); 46 virtual ~ConfigRom() {}; 47 48 Ieee1394Service& get1394Service(); 47 49 48 50 bool initialize(); … … 98 100 static bool compareGUID( const ConfigRom& a, const ConfigRom& b ); 99 101 100 void printConfigRom() const;101 102 102 bool serialize( Glib::ustring path, Util::IOSerialize& ser ); 103 103 static ConfigRom* deserialize( Glib::ustring path, … … 105 105 Ieee1394Service& ieee1394Service ); 106 106 107 void printConfigRom() const; 107 108 void setVerboseLevel(int level) { 108 109 setDebugLevel(level); … … 117 118 void processRootDirectory( struct csr1212_csr* csr ); 118 119 119 Ieee1394Service *m_1394Service;120 Ieee1394Service& m_1394Service; 120 121 fb_nodeid_t m_nodeId; 121 122 bool m_avcDevice; trunk/libffado/src/libieee1394/ieee1394service.cpp
r677 r739 37 37 #include <iostream> 38 38 #include <iomanip> 39 40 #define FFADO_MAX_FIREWIRE_PORTS 8 39 41 40 42 IMPL_DEBUG_MODULE( Ieee1394Service, Ieee1394Service, DEBUG_LEVEL_NORMAL ); … … 83 85 } 84 86 87 unsigned int 88 Ieee1394Service::detectNbPorts( ) 89 { 90 raw1394handle_t tmp_handle = raw1394_new_handle(); 91 if ( tmp_handle == NULL ) { 92 debugError("Could not get libraw1394 handle.\n"); 93 return 0; 94 } 95 struct raw1394_portinfo pinf[FFADO_MAX_FIREWIRE_PORTS]; 96 int nb_detected_ports = raw1394_get_port_info(tmp_handle, pinf, FFADO_MAX_FIREWIRE_PORTS); 97 raw1394_destroy_handle(tmp_handle); 98 99 if (nb_detected_ports < 0) { 100 debugError("Failed to detect number of ports\n"); 101 return 0; 102 } 103 return nb_detected_ports; 104 } 105 85 106 bool 86 107 Ieee1394Service::initialize( int port ) … … 113 134 114 135 m_port = port; 136 137 // obtain port name 138 struct raw1394_portinfo pinf[FFADO_MAX_FIREWIRE_PORTS]; 139 int nb_detected_ports = raw1394_get_port_info(m_handle, pinf, FFADO_MAX_FIREWIRE_PORTS); 140 141 if(nb_detected_ports && port < FFADO_MAX_FIREWIRE_PORTS) { 142 m_portName = pinf[port].name; 143 } else { 144 m_portName = "Unknown"; 145 } 146 if (m_portName == "") { 147 m_portName = "Unknown"; 148 } 115 149 116 150 raw1394_set_userdata( m_handle, this ); … … 840 874 setDebugLevel(l); 841 875 } 876 877 void 878 Ieee1394Service::show() 879 { 880 debugOutput( DEBUG_LEVEL_VERBOSE, "Port: %d\n", getPort() ); 881 debugOutput( DEBUG_LEVEL_VERBOSE, " Name: %s\n", getPortName().c_str() ); 882 } trunk/libffado/src/libieee1394/ieee1394service.h
r677 r739 37 37 38 38 #include <vector> 39 #include <string> 39 40 40 41 class ARMHandler; … … 47 48 bool initialize( int port ); 48 49 50 /** 51 * @brief get number of ports (firewire adapters) in this machine 52 * 53 * @return the number of ports 54 */ 55 static unsigned int detectNbPorts(); 56 57 /** 58 * @brief get port (adapter) id 59 * 60 * @return get port (adapter) id 61 */ 49 62 int getPort() 50 { return m_port; } 63 { return m_port; } 64 65 /** 66 * @brief get port (adapter) name 67 * 68 * @return get port (adapter) name 69 */ 70 std::string getPortName() 71 { return m_portName; }; 72 51 73 /** 52 74 * @brief get number of nodes on the bus … … 238 260 raw1394handle_t m_resetHandle; 239 261 int m_port; 262 std::string m_portName; 240 263 241 264 pthread_t m_thread; … … 256 279 public: 257 280 void setVerboseLevel(int l); 281 void show(); 258 282 private: 259 283 DECLARE_DEBUG_MODULE;