Changeset 375
- Timestamp:
- 01/20/07 07:40:18 (17 years ago)
- Files:
-
- trunk/libfreebob/src/bebob/bebob_avdevice.cpp (modified) (21 diffs)
- trunk/libfreebob/src/bebob/bebob_avdevice.h (modified) (3 diffs)
- trunk/libfreebob/src/bebob/bebob_avdevice_subunit.cpp (modified) (2 diffs)
- trunk/libfreebob/src/bebob/bebob_avdevice_subunit.h (modified) (2 diffs)
- trunk/libfreebob/src/bebob/bebob_avplug.cpp (modified) (13 diffs)
- trunk/libfreebob/src/bebob/bebob_avplug.h (modified) (3 diffs)
- trunk/libfreebob/src/bebob/bebob_avplug_xml.cpp (modified) (1 diff)
- trunk/libfreebob/src/bebob/bebob_functionblock.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_connect.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_connect.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_function_block.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_function_block.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_generic.cpp (modified) (3 diffs)
- trunk/libfreebob/src/libfreebobavc/avc_generic.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_plug_info.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_plug_info.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_signal_source.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_signal_source.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_subunit_info.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_subunit_info.h (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_unit_info.cpp (modified) (1 diff)
- trunk/libfreebob/src/libfreebobavc/avc_unit_info.h (modified) (1 diff)
- trunk/libfreebob/tests/test-extplugcmd.cpp (modified) (2 diffs)
- trunk/libfreebob/tests/test-mixer.cpp (modified) (1 diff)
- trunk/libfreebob/tests/test-volume.cpp (modified) (2 diffs)
- trunk/libfreebob/TODO (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/libfreebob/src/bebob/bebob_avdevice.cpp
r372 r375 45 45 int verboseLevel ) 46 46 : m_pConfigRom( configRom ) 47 , m_ 1394Service( &ieee1394service )47 , m_p1394Service( &ieee1394service ) 48 48 , m_verboseLevel( verboseLevel ) 49 , m_p lugManager( verboseLevel)49 , m_pPlugManager( new AvPlugManager( verboseLevel ) ) 50 50 , m_activeSyncInfo( 0 ) 51 51 , m_id( 0 ) … … 62 62 AvDevice::AvDevice() 63 63 : m_pConfigRom( 0 ) 64 , m_ 1394Service( 0 )64 , m_p1394Service( 0 ) 65 65 , m_verboseLevel( 0 ) 66 , m_p lugManager( 0 )66 , m_pPlugManager( 0 ) 67 67 , m_activeSyncInfo( 0 ) 68 68 , m_id( 0 ) … … 121 121 {0x0007f5, 0x00010048}, // BridgeCo, RD Audio1 122 122 123 {0x000a92, 0x00010066}, // Presonous FirePOD 123 {0x000a92, 0x00010000}, // PreSonus FIREBOX 124 {0x000a92, 0x00010066}, // PreSonus FirePOD 124 125 125 126 {0x000aac, 0x00000003}, // TerraTec Electronic GmbH, Phase 88 FW … … 193 194 // and output plugs of unit 194 195 195 PlugInfoCmd plugInfoCmd( m_1394Service );196 PlugInfoCmd plugInfoCmd( *m_p1394Service ); 196 197 plugInfoCmd.setNodeId( m_pConfigRom->getNodeId() ); 197 198 plugInfoCmd.setCommandType( AVCCommand::eCT_Status ); … … 251 252 ++plugId ) 252 253 { 253 AvPlug* plug = new AvPlug( *m_ 1394Service,254 AvPlug* plug = new AvPlug( *m_p1394Service, 254 255 *m_pConfigRom, 255 m_plugManager,256 *m_pPlugManager, 256 257 AVCCommand::eST_Unit, 257 258 0xff, … … 284 285 ++plugId ) 285 286 { 286 AvPlug* plug = new AvPlug( *m_ 1394Service,287 AvPlug* plug = new AvPlug( *m_p1394Service, 287 288 *m_pConfigRom, 288 m_plugManager,289 *m_pPlugManager, 289 290 AVCCommand::eST_Unit, 290 291 0xff, … … 407 408 AvPlug::eAPT_Digital ); 408 409 409 AvPlugVector syncMSUInputPlugs = m_p lugManager.getPlugsByType(410 AvPlugVector syncMSUInputPlugs = m_pPlugManager->getPlugsByType( 410 411 AVCCommand::eST_Music, 411 412 0, … … 419 420 } 420 421 421 AvPlugVector syncMSUOutputPlugs = m_p lugManager.getPlugsByType(422 AvPlugVector syncMSUOutputPlugs = m_pPlugManager->getPlugsByType( 422 423 AVCCommand::eST_Music, 423 424 0, … … 519 520 bool audioSubunitFound=false; 520 521 521 SubUnitInfoCmd subUnitInfoCmd( m_1394Service );522 SubUnitInfoCmd subUnitInfoCmd( *m_p1394Service ); 522 523 //subUnitInfoCmd.setVerbose( 1 ); 523 524 subUnitInfoCmd.setCommandType( AVCCommand::eCT_Status ); … … 771 772 772 773 ExtendedStreamFormatCmd extStreamFormatCmd( 773 m_1394Service,774 *m_p1394Service, 774 775 ExtendedStreamFormatCmd::eSF_ExtendedStreamFormatInformationCommandList ); 775 776 UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, … … 868 869 AvDevice::showDevice() const 869 870 { 870 m_p lugManager.showPlugs();871 m_pPlugManager->showPlugs(); 871 872 } 872 873 … … 942 943 int samplerate=outputPlug->getSampleRate(); 943 944 m_receiveProcessor=new FreebobStreaming::AmdtpReceiveStreamProcessor( 944 m_ 1394Service->getPort(),945 m_p1394Service->getPort(), 945 946 samplerate, 946 947 outputPlug->getNrOfChannels()); … … 980 981 samplerate=inputPlug->getSampleRate(); 981 982 m_transmitProcessor=new FreebobStreaming::AmdtpTransmitStreamProcessor( 982 m_ 1394Service->getPort(),983 m_p1394Service->getPort(), 983 984 samplerate, 984 985 inputPlug->getNrOfChannels()); … … 1144 1145 // do connection management: make connection 1145 1146 iso_channel = iec61883_cmp_connect( 1146 m_ 1394Service->getHandle(),1147 m_p1394Service->getHandle(), 1147 1148 m_pConfigRom->getNodeId() | 0xffc0, 1148 1149 &plug, 1149 raw1394_get_local_id (m_ 1394Service->getHandle()),1150 raw1394_get_local_id (m_p1394Service->getHandle()), 1150 1151 &hostplug, 1151 1152 &m_receiveProcessorBandwidth); … … 1157 1158 // do connection management: make connection 1158 1159 iso_channel = iec61883_cmp_connect( 1159 m_ 1394Service->getHandle(),1160 raw1394_get_local_id (m_ 1394Service->getHandle()),1160 m_p1394Service->getHandle(), 1161 raw1394_get_local_id (m_p1394Service->getHandle()), 1161 1162 &hostplug, 1162 1163 m_pConfigRom->getNodeId() | 0xffc0, … … 1200 1201 // do connection management: break connection 1201 1202 iec61883_cmp_disconnect( 1202 m_ 1394Service->getHandle(),1203 m_p1394Service->getHandle(), 1203 1204 m_pConfigRom->getNodeId() | 0xffc0, 1204 1205 plug, 1205 raw1394_get_local_id (m_ 1394Service->getHandle()),1206 raw1394_get_local_id (m_p1394Service->getHandle()), 1206 1207 hostplug, 1207 1208 m_receiveProcessor->getChannel(), … … 1212 1213 // do connection management: break connection 1213 1214 iec61883_cmp_disconnect( 1214 m_ 1394Service->getHandle(),1215 raw1394_get_local_id (m_ 1394Service->getHandle()),1215 m_p1394Service->getHandle(), 1216 raw1394_get_local_id (m_p1394Service->getHandle()), 1216 1217 hostplug, 1217 1218 m_pConfigRom->getNodeId() | 0xffc0, … … 1274 1275 1275 1276 static bool 1276 deserialize UpdatePlugs( Glib::ustring basePath,1277 Util::IODeserialize& deser,1278 AvPlugVector& vec )1277 deserializeAvPlugUpdateConnections( Glib::ustring path, 1278 Util::IODeserialize& deser, 1279 AvPlugVector& vec ) 1279 1280 { 1280 1281 bool result = true; … … 1284 1285 { 1285 1286 AvPlug* pPlug = *it; 1286 result &= pPlug->deserializeUpdate( basePath, deser );1287 result &= pPlug->deserializeUpdate( path, deser ); 1287 1288 } 1288 1289 return result; … … 1290 1291 1291 1292 bool 1292 AvDevice::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) 1293 AvDevice::serialize( Glib::ustring 1294 basePath, Util::IOSerialize& ser ) 1293 1295 { 1294 1296 bool result; 1295 1297 result = m_pConfigRom->serialize( basePath + "m_pConfigRom/", ser ); 1296 1298 result &= ser.write( basePath + "m_verboseLevel", m_verboseLevel ); 1297 1298 result &= serializeVector( basePath + "P CRPlug", ser, m_pcrPlugs );1299 result &= serializeVector( basePath + " ExternelPlug", ser, m_externalPlugs );1299 result &= m_pPlugManager->serialize( basePath + "AvPlug", ser ); // serialize all av plugs 1300 result &= serializeVector( basePath + "PlugConnection", ser, m_plugConnections ); 1301 result &= serializeVector( basePath + "Subunit", ser, m_subunits ); 1300 1302 1301 1303 // XXX ... … … 1320 1322 } 1321 1323 1322 pDev->m_ 1394Service = &ieee1394Service;1324 pDev->m_p1394Service = &ieee1394Service; 1323 1325 bool result; 1324 result = deser.read( basePath + "m_verboseLevel", pDev->m_verboseLevel ); 1325 1326 result &= deserializeVector<AvPlug>( basePath + "PCRPlug", deser, ieee1394Service, *pDev->m_pConfigRom.get(), pDev->m_plugManager, pDev->m_pcrPlugs ); 1327 result &= deserializeVector<AvPlug>( basePath + "ExternalPlug", deser, ieee1394Service, *pDev->m_pConfigRom.get(), pDev->m_plugManager, pDev->m_externalPlugs ); 1328 result &= deserializeUpdatePlugs( basePath + "PCRPlug", deser, pDev->m_pcrPlugs ); 1329 result &= deserializeUpdatePlugs( basePath + "ExternalPlug", deser, pDev->m_externalPlugs ); 1330 1326 result = deser.read( basePath + "m_verboseLevel", pDev->m_verboseLevel ); 1327 pDev->m_pPlugManager = AvPlugManager::deserialize( basePath + "AvPlug", deser, ieee1394Service, *pDev->m_pConfigRom.get() ); 1328 if ( !pDev->m_pPlugManager ) { 1329 delete pDev; 1330 return 0; 1331 } 1332 result &= deserializeAvPlugUpdateConnections( basePath + "AvPlug", deser, pDev->m_pcrPlugs ); 1333 result &= deserializeAvPlugUpdateConnections( basePath + "AvPlug", deser, pDev->m_externalPlugs ); 1334 result &= deserializeVector<AvPlugConnection>( basePath + "PlugConnnection", deser, ieee1394Service, *pDev->m_pConfigRom.get(), *pDev->m_pPlugManager, pDev->m_plugConnections ); 1335 result &= deserializeVector<AvDeviceSubunit>( basePath + "Subunit", deser, ieee1394Service, *pDev->m_pConfigRom.get(), *pDev->m_pPlugManager, pDev->m_subunits ); 1331 1336 1332 1337 // XXX ... trunk/libfreebob/src/bebob/bebob_avdevice.h
r372 r375 73 73 virtual bool setId(unsigned int id); 74 74 75 Ieee1394Service *get1394Service()76 { return m_1394Service; }75 Ieee1394Service& get1394Service() 76 { return *m_p1394Service; } 77 77 78 78 AvPlugManager& getPlugManager() 79 { return m_plugManager; }79 { return *m_pPlugManager; } 80 80 81 81 struct SyncInfo { … … 147 147 protected: 148 148 std::auto_ptr<ConfigRom>( m_pConfigRom ); 149 Ieee1394Service* m_ 1394Service;149 Ieee1394Service* m_p1394Service; 150 150 int m_verboseLevel; 151 151 AvPlugVector m_pcrPlugs; … … 153 153 AvPlugConnectionVector m_plugConnections; 154 154 AvDeviceSubunitVector m_subunits; 155 AvPlugManager m_plugManager;155 AvPlugManager* m_pPlugManager; 156 156 SyncInfoVector m_syncInfos; 157 157 SyncInfo* m_activeSyncInfo; trunk/libfreebob/src/bebob/bebob_avdevice_subunit.cpp
r370 r375 134 134 AVCCommand::ESubunitType subunitType = 135 135 static_cast<AVCCommand::ESubunitType>( getSubunitType() ); 136 AvPlug* plug = new AvPlug( *m_avDevice->get1394Service(),136 AvPlug* plug = new AvPlug( m_avDevice->get1394Service(), 137 137 m_avDevice->getConfigRom(), 138 138 m_avDevice->getPlugManager(), … … 179 179 } 180 180 } 181 return 0; 182 } 183 184 185 bool 186 AvDeviceSubunit::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const 187 { 188 return true; 189 } 190 191 AvDeviceSubunit* 192 AvDeviceSubunit::deserialize( Glib::ustring basePath, 193 Util::IODeserialize& deser, 194 Ieee1394Service& ieee1394Service, 195 ConfigRom& configRom, 196 AvPlugManager& plugManager ) 197 { 181 198 return 0; 182 199 } trunk/libfreebob/src/bebob/bebob_avdevice_subunit.h
r336 r375 1 1 /* bebob_avdevice_subunit.h 2 * Copyright (C) 2005,06 by Daniel Wagner2 * Copyright (C) 2005,06,07 by Daniel Wagner 3 3 * 4 4 * This file is part of FreeBoB. … … 63 63 { return *m_avDevice; } 64 64 65 66 bool serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const; 67 static AvDeviceSubunit* deserialize( Glib::ustring basePath, 68 Util::IODeserialize& deser, 69 Ieee1394Service& ieee1394Service, 70 ConfigRom& configRom, 71 AvPlugManager& plugManager ); 65 72 protected: 66 73 bool discoverPlugs(); trunk/libfreebob/src/bebob/bebob_avplug.cpp
r372 r375 45 45 plug_id_t plugId, 46 46 int verboseLevel ) 47 : m_ 1394Service( &ieee1394Service )47 : m_p1394Service( &ieee1394Service ) 48 48 , m_pConfigRom( &configRom ) 49 49 , m_subunitType( subunitType ) … … 77 77 78 78 AvPlug::AvPlug( const AvPlug& rhs ) 79 : m_ 1394Service( rhs.m_1394Service )79 : m_p1394Service( rhs.m_p1394Service ) 80 80 , m_pConfigRom( rhs.m_pConfigRom ) 81 81 , m_subunitType( rhs.m_subunitType ) … … 100 100 101 101 AvPlug::AvPlug() 102 : m_ 1394Service( 0 )102 : m_p1394Service( 0 ) 103 103 , m_pConfigRom( 0 ) 104 104 , m_subunitType( AVCCommand::eST_Reserved ) // a good value for unknown/undefined? … … 944 944 AvPlug::setPlugAddrToPlugInfoCmd() 945 945 { 946 ExtendedPlugInfoCmd extPlugInfoCmd( m_1394Service );946 ExtendedPlugInfoCmd extPlugInfoCmd( *m_p1394Service ); 947 947 948 948 switch( m_subunitType ) { … … 1021 1021 { 1022 1022 ExtendedStreamFormatCmd extStreamFormatInfoCmd( 1023 m_1394Service,1023 *m_p1394Service, 1024 1024 subFunction ); 1025 1025 switch( m_subunitType ) { … … 1094 1094 AvPlug::setSrcPlugAddrToSignalCmd() 1095 1095 { 1096 SignalSourceCmd signalSourceCmd( m_1394Service );1096 SignalSourceCmd signalSourceCmd( *m_p1394Service ); 1097 1097 1098 1098 switch( m_subunitType ) { … … 1632 1632 1633 1633 result &= ser.write( strstrm.str() + "/global_id", pPlug->getGlobalId() ); 1634 i++; 1634 1635 } 1635 1636 return result; … … 1712 1713 } 1713 1714 1714 pPlug->m_ 1394Service = &ieee1394Service;1715 pPlug->m_p1394Service = &ieee1394Service; 1715 1716 pPlug->m_pConfigRom = &configRom; 1716 1717 pPlug->m_plugManager = &plugManager; … … 1748 1749 { 1749 1750 bool result; 1751 1750 1752 result = deserializeAvPlugVector( basePath + "m_inputConnections", deser, m_inputConnections ); 1751 1753 result &= deserializeAvPlugVector( basePath + "m_outputConnections", deser, m_outputConnections ); 1754 1752 1755 return result; 1753 1756 } … … 1821 1824 { 1822 1825 setDebugLevel( m_verboseLevel ); 1826 } 1827 1828 AvPlugManager::AvPlugManager() 1829 : m_verboseLevel( 0 ) 1830 { 1831 setDebugLevel( 0 ); 1823 1832 } 1824 1833 … … 2082 2091 ++it ) 2083 2092 { 2084 AvPlug* p lug = *it;2085 2086 if ( ( subunitType == p lug->getSubunitType() )2087 && ( subunitId == p lug->getSubunitId() )2088 && ( functionBlockType == p lug->getFunctionBlockType() )2089 && ( functionBlockId == p lug->getFunctionBlockId() )2090 && ( plugAddressType == p lug->getPlugAddressType() )2091 && ( plugDirection == p lug->getPlugDirection() )2092 && ( type == p lug->getPlugType() ) )2093 AvPlug* pPlug = *it; 2094 2095 if ( ( subunitType == pPlug->getSubunitType() ) 2096 && ( subunitId == pPlug->getSubunitId() ) 2097 && ( functionBlockType == pPlug->getFunctionBlockType() ) 2098 && ( functionBlockId == pPlug->getFunctionBlockId() ) 2099 && ( plugAddressType == pPlug->getPlugAddressType() ) 2100 && ( plugDirection == pPlug->getPlugDirection() ) 2101 && ( type == pPlug->getPlugType() ) ) 2093 2102 { 2094 plugVector.push_back( p lug );2103 plugVector.push_back( pPlug ); 2095 2104 } 2096 2105 } … … 2099 2108 } 2100 2109 2101 //////////////////////////////////// 2102 2103 AvPlugCluster::AvPlugCluster() 2104 { 2105 } 2106 2107 AvPlugCluster::~AvPlugCluster() 2108 { 2109 } 2110 bool 2111 AvPlugManager::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const 2112 { 2113 bool result = true; 2114 int i = 0; 2115 for ( AvPlugVector::const_iterator it = m_plugs.begin(); 2116 it != m_plugs.end(); 2117 ++it ) 2118 { 2119 AvPlug* pPlug = *it; 2120 std::ostringstream strstrm; 2121 strstrm << basePath << i; 2122 result &= pPlug->serialize( strstrm.str() + "/", ser ); 2123 i++; 2124 } 2125 2126 return result; 2127 } 2128 2129 AvPlugManager* 2130 AvPlugManager::deserialize( Glib::ustring basePath, 2131 Util::IODeserialize& deser, 2132 Ieee1394Service& ieee1394Service, 2133 ConfigRom& configRom ) 2134 { 2135 AvPlugManager* pMgr = new AvPlugManager; 2136 2137 if ( !pMgr ) { 2138 return 0; 2139 } 2140 2141 int i = 0; 2142 bool bFinished = false; 2143 do { 2144 std::ostringstream strstrm; 2145 strstrm << basePath << i; 2146 AvPlug* pPlug = AvPlug::deserialize( strstrm.str() + "/", 2147 deser, 2148 ieee1394Service, 2149 configRom, 2150 *pMgr ); 2151 if ( pPlug ) { 2152 pMgr->m_plugs.push_back( pPlug ); 2153 i++; 2154 } else { 2155 bFinished = true; 2156 } 2157 } while ( !bFinished ); 2158 2159 return pMgr; 2160 } 2161 2110 2162 2111 2163 //////////////////////////////////// … … 2117 2169 } 2118 2170 2119 } 2171 AvPlugConnection::AvPlugConnection() 2172 : m_srcPlug( 0 ) 2173 , m_destPlug( 0 ) 2174 { 2175 } 2176 2177 bool 2178 AvPlugConnection::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const 2179 { 2180 bool result; 2181 result = ser.write( basePath + "m_srcPlug", m_srcPlug->getGlobalId() ); 2182 result &= ser.write( basePath + "m_destPlug", m_destPlug->getGlobalId() ); 2183 return result; 2184 } 2185 2186 AvPlugConnection* 2187 AvPlugConnection::deserialize( Glib::ustring basePath, 2188 Util::IODeserialize& deser, 2189 Ieee1394Service& /* ieee1394Service */, 2190 ConfigRom& /* configRom */, 2191 AvPlugManager& plugManager ) 2192 { 2193 AvPlugConnection* pConnection = new AvPlugConnection; 2194 if ( !pConnection ) { 2195 return 0; 2196 } 2197 2198 bool result; 2199 int iSrcPlugId; 2200 int iDestPlugId; 2201 result = deser.read( basePath + "m_srcPlug", iSrcPlugId ); 2202 result &= deser.read( basePath + "m_destPlug", iDestPlugId ); 2203 2204 if ( !result ) { 2205 delete pConnection; 2206 return 0; 2207 } 2208 2209 pConnection->m_srcPlug = plugManager.getPlug( iSrcPlugId ); 2210 pConnection->m_destPlug = plugManager.getPlug( iDestPlugId ); 2211 2212 if ( !pConnection->m_srcPlug || !pConnection->m_destPlug ) { 2213 delete pConnection; 2214 return 0; 2215 } 2216 2217 return pConnection; 2218 } 2219 2220 } trunk/libfreebob/src/bebob/bebob_avplug.h
r372 r375 257 257 258 258 259 Ieee1394Service* m_ 1394Service;259 Ieee1394Service* m_p1394Service; 260 260 ConfigRom* m_pConfigRom; 261 261 AVCCommand::ESubunitType m_subunitType; … … 314 314 AvPlug::EAvPlugType type) const; 315 315 316 bool serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const; 317 static AvPlugManager* deserialize( Glib::ustring basePath, 318 Util::IODeserialize& deser, 319 Ieee1394Service& ieee1394Service, 320 ConfigRom& configRom ); 316 321 private: 322 AvPlugManager(); 323 317 324 int m_verboseLevel; 318 325 AvPlugVector m_plugs; 319 326 320 327 DECLARE_DEBUG_MODULE; 321 };322 323 class AvPlugCluster {324 public:325 AvPlugCluster();326 virtual ~AvPlugCluster();327 328 Glib::ustring m_name;329 AvPlugVector m_avPlugs;330 328 }; 331 329 … … 339 337 { return *m_destPlug; } 340 338 339 bool serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const; 340 static AvPlugConnection* deserialize( Glib::ustring basePath, 341 Util::IODeserialize& deser, 342 Ieee1394Service& ieee1394Service, 343 ConfigRom& configRom, 344 AvPlugManager& plugManager ); 345 private: 346 AvPlugConnection(); 347 341 348 private: 342 349 AvPlug* m_srcPlug; trunk/libfreebob/src/bebob/bebob_avplug_xml.cpp
r370 r375 78 78 */ 79 79 80 asprintf( &result, "%d", m_ 1394Service->getPort() );80 asprintf( &result, "%d", m_p1394Service->getPort() ); 81 81 if ( !xmlNewChild( connection, 0, 82 82 BAD_CAST "Port", BAD_CAST result ) ) { trunk/libfreebob/src/bebob/bebob_functionblock.cpp
r370 r375 100 100 for ( int plugId = 0; plugId < plugMaxId; ++plugId ) { 101 101 AvPlug* plug = new AvPlug( 102 *( m_subunit->getAvDevice().get1394Service()),102 m_subunit->getAvDevice().get1394Service(), 103 103 m_subunit->getAvDevice().getConfigRom(), 104 104 m_subunit->getAvDevice().getPlugManager(), trunk/libfreebob/src/libfreebobavc/avc_connect.cpp
r365 r375 28 28 using namespace std; 29 29 30 ConnectCmd::ConnectCmd(Ieee1394Service *ieee1394service)30 ConnectCmd::ConnectCmd(Ieee1394Service& ieee1394service) 31 31 : AVCCommand( ieee1394service, AVC1394_CMD_CONNECT ) 32 32 { trunk/libfreebob/src/libfreebobavc/avc_connect.h
r336 r375 29 29 { 30 30 public: 31 ConnectCmd(Ieee1394Service *ieee1394service);31 ConnectCmd(Ieee1394Service& ieee1394service); 32 32 virtual ~ConnectCmd(); 33 33 trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.cpp
r365 r375 776 776 ////////////////////////////////////////////// 777 777 778 ExtendedPlugInfoCmd::ExtendedPlugInfoCmd( Ieee1394Service *ieee1394service,778 ExtendedPlugInfoCmd::ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service, 779 779 ESubFunction eSubFunction ) 780 780 : AVCCommand( ieee1394service, AVC1394_CMD_PLUG_INFO ) trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.h
r336 r375 289 289 }; 290 290 291 ExtendedPlugInfoCmd( Ieee1394Service *ieee1394service,291 ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service, 292 292 ESubFunction eSubFunction = eSF_ExtendedPlugInfoCmd ); 293 293 ExtendedPlugInfoCmd( const ExtendedPlugInfoCmd& rhs ); trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.cpp
r365 r375 287 287 //////////////////////////////////////////////////////////// 288 288 289 ExtendedStreamFormatCmd::ExtendedStreamFormatCmd( Ieee1394Service *service,289 ExtendedStreamFormatCmd::ExtendedStreamFormatCmd( Ieee1394Service& service, 290 290 ESubFunction eSubFunction ) 291 291 : AVCCommand( service, AVC1394_STREAM_FORMAT_SUPPORT ) trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.h
r336 r375 258 258 typedef byte_t index_in_stream_format_t; 259 259 260 ExtendedStreamFormatCmd( Ieee1394Service *ieee1349service, ESubFunction eSubFunction = eSF_ExtendedStreamFormatInformationCommand );260 ExtendedStreamFormatCmd( Ieee1394Service& ieee1349service, ESubFunction eSubFunction = eSF_ExtendedStreamFormatInformationCommand ); 261 261 ExtendedStreamFormatCmd( const ExtendedStreamFormatCmd& rhs ); 262 262 virtual ~ExtendedStreamFormatCmd(); trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.cpp
r365 r375 73 73 ////////////////////////////////////////////// 74 74 75 ExtendedSubunitInfoCmd::ExtendedSubunitInfoCmd( Ieee1394Service *ieee1394service )75 ExtendedSubunitInfoCmd::ExtendedSubunitInfoCmd( Ieee1394Service& ieee1394service ) 76 76 : AVCCommand( ieee1394service, AVC1394_CMD_SUBUNIT_INFO ) 77 77 , m_page( 0xff ) trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.h
r336 r375 86 86 }; 87 87 88 ExtendedSubunitInfoCmd( Ieee1394Service *ieee1394service );88 ExtendedSubunitInfoCmd( Ieee1394Service& ieee1394service ); 89 89 ExtendedSubunitInfoCmd( const ExtendedSubunitInfoCmd& rhs ); 90 90 virtual ~ExtendedSubunitInfoCmd(); trunk/libfreebob/src/libfreebobavc/avc_function_block.cpp
r365 r375 432 432 ///////////////////////////////// 433 433 434 FunctionBlockCmd::FunctionBlockCmd( Ieee1394Service *ieee1394service,434 FunctionBlockCmd::FunctionBlockCmd( Ieee1394Service& ieee1394service, 435 435 EFunctionBlockType eType, 436 436 function_block_id_t id, trunk/libfreebob/src/libfreebobavc/avc_function_block.h
r336 r375 237 237 }; 238 238 239 FunctionBlockCmd( Ieee1394Service *ieee1394service,239 FunctionBlockCmd( Ieee1394Service& ieee1394service, 240 240 EFunctionBlockType eType, 241 241 function_block_id_t id, trunk/libfreebob/src/libfreebobavc/avc_generic.cpp
r365 r375 33 33 int AVCCommand::m_time = 0; 34 34 35 AVCCommand::AVCCommand( Ieee1394Service *ieee1394service,35 AVCCommand::AVCCommand( Ieee1394Service& ieee1394service, 36 36 opcode_t opcode ) 37 : m_ 1394Service(ieee1394service )37 : m_p1394Service( &ieee1394service ) 38 38 , m_nodeId( 0 ) 39 39 , m_ctype( eCT_Unknown ) … … 186 186 187 187 unsigned int resp_len; 188 quadlet_t* resp = m_ 1394Service->transactionBlock( m_nodeId,189 (quadlet_t*)m_fcpFrame,190 ( fcpFrameSize+3 ) / 4,191 &resp_len );188 quadlet_t* resp = m_p1394Service->transactionBlock( m_nodeId, 189 (quadlet_t*)m_fcpFrame, 190 ( fcpFrameSize+3 ) / 4, 191 &resp_len ); 192 192 bool result = false; 193 193 if ( resp ) { … … 232 232 debugOutputShort( DEBUG_LEVEL_VERY_VERBOSE, "\n" ); 233 233 234 m_ 1394Service->transactionBlockClose();234 m_p1394Service->transactionBlockClose(); 235 235 236 236 usleep( m_time ); trunk/libfreebob/src/libfreebobavc/avc_generic.h
r336 r375 116 116 117 117 protected: 118 AVCCommand( Ieee1394Service *ieee1394service, opcode_t opcode );118 AVCCommand( Ieee1394Service& ieee1394service, opcode_t opcode ); 119 119 virtual ~AVCCommand() {} 120 120 121 121 ECommandType getCommandType(); 122 122 123 Ieee1394Service* m_ 1394Service;123 Ieee1394Service* m_p1394Service; 124 124 fb_nodeid_t m_nodeId; 125 125 trunk/libfreebob/src/libfreebobavc/avc_plug_info.cpp
r365 r375 28 28 using namespace std; 29 29 30 PlugInfoCmd::PlugInfoCmd( Ieee1394Service *ieee1394service,30 PlugInfoCmd::PlugInfoCmd( Ieee1394Service& ieee1394service, 31 31 ESubFunction eSubFunction ) 32 32 : AVCCommand( ieee1394service, AVC1394_CMD_PLUG_INFO ) trunk/libfreebob/src/libfreebobavc/avc_plug_info.h
r336 r375 42 42 }; 43 43 44 PlugInfoCmd( Ieee1394Service *ieee1394service,44 PlugInfoCmd( Ieee1394Service& ieee1394service, 45 45 ESubFunction eSubFunction = eSF_SerialBusIsochronousAndExternalPlug ); 46 46 PlugInfoCmd( const PlugInfoCmd& rhs ); trunk/libfreebob/src/libfreebobavc/avc_signal_source.cpp
r365 r375 97 97 98 98 99 SignalSourceCmd::SignalSourceCmd( Ieee1394Service *ieee1394service )99 SignalSourceCmd::SignalSourceCmd( Ieee1394Service& ieee1394service ) 100 100 : AVCCommand( ieee1394service, AVC1394_CMD_SIGNAL_SOURCE ) 101 101 , m_resultStatus( 0xff ) trunk/libfreebob/src/libfreebobavc/avc_signal_source.h
r336 r375 66 66 { 67 67 public: 68 SignalSourceCmd( Ieee1394Service *ieee1394service );68 SignalSourceCmd( Ieee1394Service& ieee1394service ); 69 69 virtual ~SignalSourceCmd(); 70 70 trunk/libfreebob/src/libfreebobavc/avc_subunit_info.cpp
r365 r375 28 28 using namespace std; 29 29 30 SubUnitInfoCmd::SubUnitInfoCmd( Ieee1394Service *ieee1349service )30 SubUnitInfoCmd::SubUnitInfoCmd( Ieee1394Service& ieee1349service ) 31 31 : AVCCommand( ieee1349service, AVC1394_CMD_SUBUNIT_INFO ) 32 32 { trunk/libfreebob/src/libfreebobavc/avc_subunit_info.h
r336 r375 32 32 { 33 33 public: 34 SubUnitInfoCmd( Ieee1394Service *ieee1349service );34 SubUnitInfoCmd( Ieee1394Service& ieee1349service ); 35 35 virtual ~SubUnitInfoCmd(); 36 36 trunk/libfreebob/src/libfreebobavc/avc_unit_info.cpp
r365 r375 28 28 using namespace std; 29 29 30 UnitInfoCmd::UnitInfoCmd( Ieee1394Service *ieee1349service )30 UnitInfoCmd::UnitInfoCmd( Ieee1394Service& ieee1349service ) 31 31 : AVCCommand( ieee1349service, AVC1394_CMD_UNIT_INFO ) 32 32 , m_reserved( 0xff ) trunk/libfreebob/src/libfreebobavc/avc_unit_info.h
r336 r375 49 49 }; 50 50 51 UnitInfoCmd( Ieee1394Service *ieee1349service );51 UnitInfoCmd( Ieee1394Service& ieee1349service ); 52 52 virtual ~UnitInfoCmd(); 53 53 trunk/libfreebob/tests/test-extplugcmd.cpp
r365 r375 109 109 doPlugType( Ieee1394Service& ieee1394service, int node_id ) 110 110 { 111 ExtendedPlugInfoCmd extPlugInfoCmd( &ieee1394service );111 ExtendedPlugInfoCmd extPlugInfoCmd( ieee1394service ); 112 112 UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, 0 ); 113 113 extPlugInfoCmd.setPlugAddress( PlugAddress( PlugAddress::ePD_Input, … … 148 148 doPlugName( Ieee1394Service& ieee1394service, int node_id ) 149 149 { 150 ExtendedPlugInfoCmd extPlugInfoCmd( &ieee1394service );150 ExtendedPlugInfoCmd extPlugInfoCmd( ieee1394service ); 151 151 UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, 0 ); 152 152 extPlugInfoCmd.setPlugAddress( PlugAddress( PlugAddress::ePD_Input, trunk/libfreebob/tests/test-mixer.cpp
r365 r375 28 28 doApp( Ieee1394Service& ieee1394service, int node_id, int fb_id ) 29 29 { 30 FunctionBlockCmd fbCmd( &ieee1394service,31 32 33 30 FunctionBlockCmd fbCmd( ieee1394service, 31 FunctionBlockCmd::eFBT_Processing, 32 fb_id, 33 FunctionBlockCmd::eCA_Current ); 34 34 fbCmd.setNodeId( node_id ); 35 35 fbCmd.setSubunitId( 0x00 ); trunk/libfreebob/tests/test-volume.cpp
r365 r375 29 29 FunctionBlockCmd::EControlAttribute control_attrib ) 30 30 { 31 FunctionBlockCmd fbCmd( &ieee1394service,32 33 34 31 FunctionBlockCmd fbCmd( ieee1394service, 32 FunctionBlockCmd::eFBT_Feature, 33 ffb_id, 34 control_attrib ); 35 35 fbCmd.setNodeId( node_id ); 36 36 fbCmd.setSubunitId( 0x00 ); … … 56 56 setVolume( Ieee1394Service& ieee1394service, int node_id, int ffb_id, int vol ) 57 57 { 58 FunctionBlockCmd fbCmd( &ieee1394service,59 60 61 58 FunctionBlockCmd fbCmd( ieee1394service, 59 FunctionBlockCmd::eFBT_Feature, 60 ffb_id, 61 FunctionBlockCmd::eCA_Current ); 62 62 fbCmd.setNodeId( node_id ); 63 63 fbCmd.setSubunitId( 0x00 ); trunk/libfreebob/TODO
r142 r375 6 6 the DebugModule's methods. The idea is to have a more consistant 7 7 code. 8 - All libfreebobavc interfaces should use references instead of pointers9 like in ExtendedPlugInfoCmd( Ieee1394Service* ieee1394service, ... )10 -> ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service,