Changeset 375

Show
Ignore:
Timestamp:
01/20/07 07:40:18 (17 years ago)
Author:
wagi
Message:

AVCCommand: All AVC commants take a reference instead a pointer to 1394 service
BeBoB::AvDevice?: PreSonus? FIREBOX id added

De/Serialize all AvPlugs? through AvPlugManager?
AvPlugManager? can't be a member because of serialization

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libfreebob/src/bebob/bebob_avdevice.cpp

    r372 r375  
    4545                    int verboseLevel ) 
    4646    : m_pConfigRom( configRom ) 
    47     , m_1394Service( &ieee1394service ) 
     47    , m_p1394Service( &ieee1394service ) 
    4848    , m_verboseLevel( verboseLevel ) 
    49     , m_plugManager( verboseLevel
     49    , m_pPlugManager( new AvPlugManager( verboseLevel )
    5050    , m_activeSyncInfo( 0 ) 
    5151    , m_id( 0 ) 
     
    6262AvDevice::AvDevice() 
    6363    : m_pConfigRom( 0 ) 
    64     , m_1394Service( 0 ) 
     64    , m_p1394Service( 0 ) 
    6565    , m_verboseLevel( 0 ) 
    66     , m_plugManager( 0 ) 
     66    , m_pPlugManager( 0 ) 
    6767    , m_activeSyncInfo( 0 ) 
    6868    , m_id( 0 ) 
     
    121121    {0x0007f5, 0x00010048},  // BridgeCo, RD Audio1 
    122122 
    123     {0x000a92, 0x00010066},  // Presonous FirePOD 
     123    {0x000a92, 0x00010000},  // PreSonus FIREBOX 
     124    {0x000a92, 0x00010066},  // PreSonus FirePOD 
    124125 
    125126    {0x000aac, 0x00000003},  // TerraTec Electronic GmbH, Phase 88 FW 
     
    193194    // and output plugs of unit 
    194195 
    195     PlugInfoCmd plugInfoCmd( m_1394Service ); 
     196    PlugInfoCmd plugInfoCmd( *m_p1394Service ); 
    196197    plugInfoCmd.setNodeId( m_pConfigRom->getNodeId() ); 
    197198    plugInfoCmd.setCommandType( AVCCommand::eCT_Status ); 
     
    251252          ++plugId ) 
    252253    { 
    253         AvPlug* plug  = new AvPlug( *m_1394Service, 
     254        AvPlug* plug  = new AvPlug( *m_p1394Service, 
    254255                                    *m_pConfigRom, 
    255                                     m_plugManager, 
     256                                    *m_pPlugManager, 
    256257                                    AVCCommand::eST_Unit, 
    257258                                    0xff, 
     
    284285          ++plugId ) 
    285286    { 
    286         AvPlug* plug  = new AvPlug( *m_1394Service, 
     287        AvPlug* plug  = new AvPlug( *m_p1394Service, 
    287288                                    *m_pConfigRom, 
    288                                     m_plugManager, 
     289                                    *m_pPlugManager, 
    289290                                    AVCCommand::eST_Unit, 
    290291                                    0xff, 
     
    407408                                                    AvPlug::eAPT_Digital ); 
    408409 
    409     AvPlugVector syncMSUInputPlugs = m_plugManager.getPlugsByType( 
     410    AvPlugVector syncMSUInputPlugs = m_pPlugManager->getPlugsByType( 
    410411        AVCCommand::eST_Music, 
    411412        0, 
     
    419420    } 
    420421 
    421     AvPlugVector syncMSUOutputPlugs = m_plugManager.getPlugsByType( 
     422    AvPlugVector syncMSUOutputPlugs = m_pPlugManager->getPlugsByType( 
    422423        AVCCommand::eST_Music, 
    423424        0, 
     
    519520    bool audioSubunitFound=false; 
    520521 
    521     SubUnitInfoCmd subUnitInfoCmd( m_1394Service ); 
     522    SubUnitInfoCmd subUnitInfoCmd( *m_p1394Service ); 
    522523    //subUnitInfoCmd.setVerbose( 1 ); 
    523524    subUnitInfoCmd.setCommandType( AVCCommand::eCT_Status ); 
     
    771772 
    772773    ExtendedStreamFormatCmd extStreamFormatCmd( 
    773         m_1394Service, 
     774        *m_p1394Service, 
    774775        ExtendedStreamFormatCmd::eSF_ExtendedStreamFormatInformationCommandList ); 
    775776    UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, 
     
    868869AvDevice::showDevice() const 
    869870{ 
    870     m_plugManager.showPlugs(); 
     871    m_pPlugManager->showPlugs(); 
    871872} 
    872873 
     
    942943    int samplerate=outputPlug->getSampleRate(); 
    943944    m_receiveProcessor=new FreebobStreaming::AmdtpReceiveStreamProcessor( 
    944                              m_1394Service->getPort(), 
     945                             m_p1394Service->getPort(), 
    945946                             samplerate, 
    946947                             outputPlug->getNrOfChannels()); 
     
    980981        samplerate=inputPlug->getSampleRate(); 
    981982        m_transmitProcessor=new FreebobStreaming::AmdtpTransmitStreamProcessor( 
    982                                 m_1394Service->getPort(), 
     983                                m_p1394Service->getPort(), 
    983984                                samplerate, 
    984985                                inputPlug->getNrOfChannels()); 
     
    11441145            // do connection management: make connection 
    11451146            iso_channel = iec61883_cmp_connect( 
    1146                 m_1394Service->getHandle(), 
     1147                m_p1394Service->getHandle(), 
    11471148                m_pConfigRom->getNodeId() | 0xffc0, 
    11481149                &plug, 
    1149                 raw1394_get_local_id (m_1394Service->getHandle()), 
     1150                raw1394_get_local_id (m_p1394Service->getHandle()), 
    11501151                &hostplug, 
    11511152                &m_receiveProcessorBandwidth); 
     
    11571158            // do connection management: make connection 
    11581159            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()), 
    11611162                &hostplug, 
    11621163                m_pConfigRom->getNodeId() | 0xffc0, 
     
    12001201            // do connection management: break connection 
    12011202            iec61883_cmp_disconnect( 
    1202                 m_1394Service->getHandle(), 
     1203                m_p1394Service->getHandle(), 
    12031204                m_pConfigRom->getNodeId() | 0xffc0, 
    12041205                plug, 
    1205                 raw1394_get_local_id (m_1394Service->getHandle()), 
     1206                raw1394_get_local_id (m_p1394Service->getHandle()), 
    12061207                hostplug, 
    12071208                m_receiveProcessor->getChannel(), 
     
    12121213            // do connection management: break connection 
    12131214            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()), 
    12161217                hostplug, 
    12171218                m_pConfigRom->getNodeId() | 0xffc0, 
     
    12741275 
    12751276static bool 
    1276 deserializeUpdatePlugs( Glib::ustring basePath, 
    1277                         Util::IODeserialize& deser, 
    1278                         AvPlugVector& vec ) 
     1277deserializeAvPlugUpdateConnections( Glib::ustring path, 
     1278                                    Util::IODeserialize& deser, 
     1279                                    AvPlugVector& vec ) 
    12791280{ 
    12801281    bool result = true; 
     
    12841285    { 
    12851286        AvPlug* pPlug = *it; 
    1286         result &= pPlug->deserializeUpdate( basePath, deser ); 
     1287        result &= pPlug->deserializeUpdate( path, deser ); 
    12871288    } 
    12881289    return result; 
     
    12901291 
    12911292bool 
    1292 AvDevice::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) 
     1293AvDevice::serialize( Glib::ustring 
     1294                     basePath, Util::IOSerialize& ser ) 
    12931295{ 
    12941296    bool result; 
    12951297    result  = m_pConfigRom->serialize( basePath + "m_pConfigRom/", ser ); 
    12961298    result &= ser.write( basePath + "m_verboseLevel", m_verboseLevel ); 
    1297  
    1298     result &= serializeVector( basePath + "PCRPlug", 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 ); 
    13001302 
    13011303    // XXX ... 
     
    13201322        } 
    13211323 
    1322         pDev->m_1394Service = &ieee1394Service; 
     1324        pDev->m_p1394Service = &ieee1394Service; 
    13231325        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 ); 
    13311336 
    13321337        // XXX ... 
  • trunk/libfreebob/src/bebob/bebob_avdevice.h

    r372 r375  
    7373    virtual bool setId(unsigned int id); 
    7474 
    75     Ieee1394Service* get1394Service() 
    76         { return m_1394Service; } 
     75    Ieee1394Service& get1394Service() 
     76        { return *m_p1394Service; } 
    7777 
    7878    AvPlugManager& getPlugManager() 
    79         { return m_plugManager; } 
     79        { return *m_pPlugManager; } 
    8080 
    8181    struct SyncInfo { 
     
    147147protected: 
    148148    std::auto_ptr<ConfigRom>( m_pConfigRom ); 
    149     Ieee1394Service*          m_1394Service; 
     149    Ieee1394Service*          m_p1394Service; 
    150150    int                       m_verboseLevel; 
    151151    AvPlugVector              m_pcrPlugs; 
     
    153153    AvPlugConnectionVector    m_plugConnections; 
    154154    AvDeviceSubunitVector     m_subunits; 
    155     AvPlugManager             m_plugManager; 
     155    AvPlugManager*            m_pPlugManager; 
    156156    SyncInfoVector            m_syncInfos; 
    157157    SyncInfo*                 m_activeSyncInfo; 
  • trunk/libfreebob/src/bebob/bebob_avdevice_subunit.cpp

    r370 r375  
    134134        AVCCommand::ESubunitType subunitType = 
    135135            static_cast<AVCCommand::ESubunitType>( getSubunitType() ); 
    136         AvPlug* plug = new AvPlug( *m_avDevice->get1394Service(), 
     136        AvPlug* plug = new AvPlug( m_avDevice->get1394Service(), 
    137137                                   m_avDevice->getConfigRom(), 
    138138                                   m_avDevice->getPlugManager(), 
     
    179179        } 
    180180    } 
     181    return 0; 
     182} 
     183 
     184 
     185bool 
     186AvDeviceSubunit::serialize( Glib::ustring basePath, Util::IOSerialize& ser ) const 
     187{ 
     188    return true; 
     189} 
     190 
     191AvDeviceSubunit* 
     192AvDeviceSubunit::deserialize( Glib::ustring basePath, 
     193                              Util::IODeserialize& deser, 
     194                              Ieee1394Service& ieee1394Service, 
     195                              ConfigRom& configRom, 
     196                              AvPlugManager& plugManager ) 
     197{ 
    181198    return 0; 
    182199} 
  • trunk/libfreebob/src/bebob/bebob_avdevice_subunit.h

    r336 r375  
    11/* bebob_avdevice_subunit.h 
    2  * Copyright (C) 2005,06 by Daniel Wagner 
     2 * Copyright (C) 2005,06,07 by Daniel Wagner 
    33 * 
    44 * This file is part of FreeBoB. 
     
    6363        { return *m_avDevice; } 
    6464 
     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 ); 
    6572 protected: 
    6673    bool discoverPlugs(); 
  • trunk/libfreebob/src/bebob/bebob_avplug.cpp

    r372 r375  
    4545                plug_id_t plugId, 
    4646                int verboseLevel ) 
    47     : m_1394Service( &ieee1394Service ) 
     47    : m_p1394Service( &ieee1394Service ) 
    4848    , m_pConfigRom( &configRom ) 
    4949    , m_subunitType( subunitType ) 
     
    7777 
    7878AvPlug::AvPlug( const AvPlug& rhs ) 
    79     : m_1394Service( rhs.m_1394Service ) 
     79    : m_p1394Service( rhs.m_p1394Service ) 
    8080    , m_pConfigRom( rhs.m_pConfigRom ) 
    8181    , m_subunitType( rhs.m_subunitType ) 
     
    100100 
    101101AvPlug::AvPlug() 
    102     : m_1394Service( 0 ) 
     102    : m_p1394Service( 0 ) 
    103103    , m_pConfigRom( 0 ) 
    104104    , m_subunitType( AVCCommand::eST_Reserved ) // a good value for unknown/undefined? 
     
    944944AvPlug::setPlugAddrToPlugInfoCmd() 
    945945{ 
    946     ExtendedPlugInfoCmd extPlugInfoCmd( m_1394Service ); 
     946    ExtendedPlugInfoCmd extPlugInfoCmd( *m_p1394Service ); 
    947947 
    948948    switch( m_subunitType ) { 
     
    10211021{ 
    10221022    ExtendedStreamFormatCmd extStreamFormatInfoCmd( 
    1023         m_1394Service, 
     1023        *m_p1394Service, 
    10241024        subFunction ); 
    10251025    switch( m_subunitType ) { 
     
    10941094AvPlug::setSrcPlugAddrToSignalCmd() 
    10951095{ 
    1096     SignalSourceCmd signalSourceCmd( m_1394Service ); 
     1096    SignalSourceCmd signalSourceCmd( *m_p1394Service ); 
    10971097 
    10981098    switch( m_subunitType ) { 
     
    16321632 
    16331633        result &= ser.write( strstrm.str() + "/global_id", pPlug->getGlobalId() ); 
     1634        i++; 
    16341635    } 
    16351636    return result; 
     
    17121713    } 
    17131714 
    1714     pPlug->m_1394Service = &ieee1394Service; 
     1715    pPlug->m_p1394Service = &ieee1394Service; 
    17151716    pPlug->m_pConfigRom = &configRom; 
    17161717    pPlug->m_plugManager = &plugManager; 
     
    17481749{ 
    17491750    bool result; 
     1751 
    17501752    result  = deserializeAvPlugVector( basePath + "m_inputConnections", deser, m_inputConnections ); 
    17511753    result &= deserializeAvPlugVector( basePath + "m_outputConnections", deser, m_outputConnections ); 
     1754 
    17521755    return result; 
    17531756} 
     
    18211824{ 
    18221825    setDebugLevel( m_verboseLevel ); 
     1826} 
     1827 
     1828AvPlugManager::AvPlugManager() 
     1829    : m_verboseLevel( 0 ) 
     1830{ 
     1831    setDebugLevel( 0 ); 
    18231832} 
    18241833 
     
    20822091          ++it ) 
    20832092    { 
    2084         AvPlug* plug = *it; 
    2085  
    2086         if (    ( subunitType == plug->getSubunitType() ) 
    2087              && ( subunitId == plug->getSubunitId() ) 
    2088              && ( functionBlockType == plug->getFunctionBlockType() ) 
    2089              && ( functionBlockId == plug->getFunctionBlockId() ) 
    2090              && ( plugAddressType == plug->getPlugAddressType() ) 
    2091              && ( plugDirection == plug->getPlugDirection() ) 
    2092              && ( type == plug->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() ) ) 
    20932102        { 
    2094             plugVector.push_back( plug ); 
     2103            plugVector.push_back( pPlug ); 
    20952104        } 
    20962105    } 
     
    20992108} 
    21002109 
    2101 //////////////////////////////////// 
    2102  
    2103 AvPlugCluster::AvPlugCluster() 
    2104 
    2105 
    2106  
    2107 AvPlugCluster::~AvPlugCluster() 
    2108 
    2109 
     2110bool 
     2111AvPlugManager::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 
     2129AvPlugManager* 
     2130AvPlugManager::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 
    21102162 
    21112163//////////////////////////////////// 
     
    21172169} 
    21182170 
    2119 
     2171AvPlugConnection::AvPlugConnection() 
     2172    : m_srcPlug( 0 ) 
     2173    , m_destPlug( 0 ) 
     2174
     2175
     2176 
     2177bool 
     2178AvPlugConnection::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 
     2186AvPlugConnection* 
     2187AvPlugConnection::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  
    257257 
    258258 
    259     Ieee1394Service*             m_1394Service; 
     259    Ieee1394Service*             m_p1394Service; 
    260260    ConfigRom*                   m_pConfigRom; 
    261261    AVCCommand::ESubunitType     m_subunitType; 
     
    314314                                 AvPlug::EAvPlugType type) const; 
    315315 
     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 ); 
    316321private: 
     322    AvPlugManager(); 
     323 
    317324    int          m_verboseLevel; 
    318325    AvPlugVector m_plugs; 
    319326 
    320327    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; 
    330328}; 
    331329 
     
    339337        { return *m_destPlug; } 
    340338 
     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 ); 
     345private: 
     346    AvPlugConnection(); 
     347 
    341348private: 
    342349    AvPlug* m_srcPlug; 
  • trunk/libfreebob/src/bebob/bebob_avplug_xml.cpp

    r370 r375  
    7878    */ 
    7979 
    80     asprintf( &result, "%d", m_1394Service->getPort() ); 
     80    asprintf( &result, "%d", m_p1394Service->getPort() ); 
    8181    if ( !xmlNewChild( connection,  0, 
    8282                       BAD_CAST "Port",  BAD_CAST result ) ) { 
  • trunk/libfreebob/src/bebob/bebob_functionblock.cpp

    r370 r375  
    100100    for ( int plugId = 0; plugId < plugMaxId; ++plugId ) { 
    101101        AvPlug* plug = new AvPlug( 
    102             *( m_subunit->getAvDevice().get1394Service() ), 
     102            m_subunit->getAvDevice().get1394Service(), 
    103103            m_subunit->getAvDevice().getConfigRom(), 
    104104            m_subunit->getAvDevice().getPlugManager(), 
  • trunk/libfreebob/src/libfreebobavc/avc_connect.cpp

    r365 r375  
    2828using namespace std; 
    2929 
    30 ConnectCmd::ConnectCmd(Ieee1394Service* ieee1394service) 
     30ConnectCmd::ConnectCmd(Ieee1394Service& ieee1394service) 
    3131    : AVCCommand( ieee1394service, AVC1394_CMD_CONNECT ) 
    3232{ 
  • trunk/libfreebob/src/libfreebobavc/avc_connect.h

    r336 r375  
    2929{ 
    3030public: 
    31     ConnectCmd(Ieee1394Service* ieee1394service); 
     31    ConnectCmd(Ieee1394Service& ieee1394service); 
    3232    virtual ~ConnectCmd(); 
    3333 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.cpp

    r365 r375  
    776776////////////////////////////////////////////// 
    777777 
    778 ExtendedPlugInfoCmd::ExtendedPlugInfoCmd( Ieee1394Service* ieee1394service, 
     778ExtendedPlugInfoCmd::ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service, 
    779779                                          ESubFunction eSubFunction ) 
    780780    : AVCCommand( ieee1394service, AVC1394_CMD_PLUG_INFO ) 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_plug_info.h

    r336 r375  
    289289    }; 
    290290 
    291     ExtendedPlugInfoCmd( Ieee1394Service* ieee1394service, 
     291    ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service, 
    292292                         ESubFunction eSubFunction = eSF_ExtendedPlugInfoCmd ); 
    293293    ExtendedPlugInfoCmd( const ExtendedPlugInfoCmd& rhs ); 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.cpp

    r365 r375  
    287287//////////////////////////////////////////////////////////// 
    288288 
    289 ExtendedStreamFormatCmd::ExtendedStreamFormatCmd( Ieee1394Service* service, 
     289ExtendedStreamFormatCmd::ExtendedStreamFormatCmd( Ieee1394Service& service, 
    290290                                                  ESubFunction eSubFunction ) 
    291291    : AVCCommand( service, AVC1394_STREAM_FORMAT_SUPPORT ) 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_stream_format.h

    r336 r375  
    258258    typedef byte_t index_in_stream_format_t; 
    259259 
    260     ExtendedStreamFormatCmd( Ieee1394Service* ieee1349service, ESubFunction eSubFunction = eSF_ExtendedStreamFormatInformationCommand ); 
     260    ExtendedStreamFormatCmd( Ieee1394Service& ieee1349service, ESubFunction eSubFunction = eSF_ExtendedStreamFormatInformationCommand ); 
    261261    ExtendedStreamFormatCmd( const ExtendedStreamFormatCmd& rhs ); 
    262262    virtual ~ExtendedStreamFormatCmd(); 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.cpp

    r365 r375  
    7373////////////////////////////////////////////// 
    7474 
    75 ExtendedSubunitInfoCmd::ExtendedSubunitInfoCmd( Ieee1394Service* ieee1394service ) 
     75ExtendedSubunitInfoCmd::ExtendedSubunitInfoCmd( Ieee1394Service& ieee1394service ) 
    7676    : AVCCommand( ieee1394service, AVC1394_CMD_SUBUNIT_INFO ) 
    7777    , m_page( 0xff ) 
  • trunk/libfreebob/src/libfreebobavc/avc_extended_subunit_info.h

    r336 r375  
    8686    }; 
    8787 
    88     ExtendedSubunitInfoCmd( Ieee1394Service* ieee1394service ); 
     88    ExtendedSubunitInfoCmd( Ieee1394Service& ieee1394service ); 
    8989    ExtendedSubunitInfoCmd( const ExtendedSubunitInfoCmd& rhs ); 
    9090    virtual ~ExtendedSubunitInfoCmd(); 
  • trunk/libfreebob/src/libfreebobavc/avc_function_block.cpp

    r365 r375  
    432432///////////////////////////////// 
    433433 
    434 FunctionBlockCmd::FunctionBlockCmd( Ieee1394Service* ieee1394service, 
     434FunctionBlockCmd::FunctionBlockCmd( Ieee1394Service& ieee1394service, 
    435435                                    EFunctionBlockType eType, 
    436436                                    function_block_id_t id, 
  • trunk/libfreebob/src/libfreebobavc/avc_function_block.h

    r336 r375  
    237237    }; 
    238238 
    239     FunctionBlockCmd( Ieee1394Service* ieee1394service, 
     239    FunctionBlockCmd( Ieee1394Service& ieee1394service, 
    240240                      EFunctionBlockType eType, 
    241241                      function_block_id_t id, 
  • trunk/libfreebob/src/libfreebobavc/avc_generic.cpp

    r365 r375  
    3333int AVCCommand::m_time = 0; 
    3434 
    35 AVCCommand::AVCCommand( Ieee1394Service* ieee1394service, 
     35AVCCommand::AVCCommand( Ieee1394Service& ieee1394service, 
    3636                        opcode_t opcode ) 
    37     : m_1394Service( ieee1394service ) 
     37    : m_p1394Service( &ieee1394service ) 
    3838    , m_nodeId( 0 ) 
    3939    , m_ctype( eCT_Unknown ) 
     
    186186 
    187187    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 ); 
    192192    bool result = false; 
    193193    if ( resp ) { 
     
    232232    debugOutputShort( DEBUG_LEVEL_VERY_VERBOSE, "\n" ); 
    233233 
    234     m_1394Service->transactionBlockClose(); 
     234    m_p1394Service->transactionBlockClose(); 
    235235 
    236236    usleep( m_time ); 
  • trunk/libfreebob/src/libfreebobavc/avc_generic.h

    r336 r375  
    116116 
    117117protected: 
    118     AVCCommand( Ieee1394Service* ieee1394service, opcode_t opcode ); 
     118    AVCCommand( Ieee1394Service& ieee1394service, opcode_t opcode ); 
    119119    virtual ~AVCCommand() {} 
    120120 
    121121    ECommandType getCommandType(); 
    122122 
    123     Ieee1394Service* m_1394Service; 
     123    Ieee1394Service* m_p1394Service; 
    124124    fb_nodeid_t      m_nodeId; 
    125125 
  • trunk/libfreebob/src/libfreebobavc/avc_plug_info.cpp

    r365 r375  
    2828using namespace std; 
    2929 
    30 PlugInfoCmd::PlugInfoCmd( Ieee1394Service* ieee1394service, 
     30PlugInfoCmd::PlugInfoCmd( Ieee1394Service& ieee1394service, 
    3131                          ESubFunction eSubFunction ) 
    3232    : AVCCommand( ieee1394service, AVC1394_CMD_PLUG_INFO ) 
  • trunk/libfreebob/src/libfreebobavc/avc_plug_info.h

    r336 r375  
    4242    }; 
    4343 
    44     PlugInfoCmd( Ieee1394Service* ieee1394service, 
     44    PlugInfoCmd( Ieee1394Service& ieee1394service, 
    4545                 ESubFunction eSubFunction = eSF_SerialBusIsochronousAndExternalPlug ); 
    4646    PlugInfoCmd( const PlugInfoCmd& rhs ); 
  • trunk/libfreebob/src/libfreebobavc/avc_signal_source.cpp

    r365 r375  
    9797 
    9898 
    99 SignalSourceCmd::SignalSourceCmd( Ieee1394Service* ieee1394service ) 
     99SignalSourceCmd::SignalSourceCmd( Ieee1394Service& ieee1394service ) 
    100100    : AVCCommand( ieee1394service, AVC1394_CMD_SIGNAL_SOURCE ) 
    101101    , m_resultStatus( 0xff ) 
  • trunk/libfreebob/src/libfreebobavc/avc_signal_source.h

    r336 r375  
    6666{ 
    6767public: 
    68     SignalSourceCmd( Ieee1394Service* ieee1394service ); 
     68    SignalSourceCmd( Ieee1394Service& ieee1394service ); 
    6969    virtual ~SignalSourceCmd(); 
    7070 
  • trunk/libfreebob/src/libfreebobavc/avc_subunit_info.cpp

    r365 r375  
    2828using namespace std; 
    2929 
    30 SubUnitInfoCmd::SubUnitInfoCmd( Ieee1394Service* ieee1349service ) 
     30SubUnitInfoCmd::SubUnitInfoCmd( Ieee1394Service& ieee1349service ) 
    3131    : AVCCommand( ieee1349service, AVC1394_CMD_SUBUNIT_INFO ) 
    3232{ 
  • trunk/libfreebob/src/libfreebobavc/avc_subunit_info.h

    r336 r375  
    3232{ 
    3333public: 
    34     SubUnitInfoCmd( Ieee1394Service* ieee1349service ); 
     34    SubUnitInfoCmd( Ieee1394Service& ieee1349service ); 
    3535    virtual ~SubUnitInfoCmd(); 
    3636 
  • trunk/libfreebob/src/libfreebobavc/avc_unit_info.cpp

    r365 r375  
    2828using namespace std; 
    2929 
    30 UnitInfoCmd::UnitInfoCmd( Ieee1394Service* ieee1349service ) 
     30UnitInfoCmd::UnitInfoCmd( Ieee1394Service& ieee1349service ) 
    3131    : AVCCommand( ieee1349service, AVC1394_CMD_UNIT_INFO ) 
    3232    , m_reserved( 0xff ) 
  • trunk/libfreebob/src/libfreebobavc/avc_unit_info.h

    r336 r375  
    4949    }; 
    5050 
    51     UnitInfoCmd( Ieee1394Service* ieee1349service ); 
     51    UnitInfoCmd( Ieee1394Service& ieee1349service ); 
    5252    virtual ~UnitInfoCmd(); 
    5353 
  • trunk/libfreebob/tests/test-extplugcmd.cpp

    r365 r375  
    109109doPlugType( Ieee1394Service& ieee1394service, int node_id ) 
    110110{ 
    111     ExtendedPlugInfoCmd extPlugInfoCmd( &ieee1394service ); 
     111    ExtendedPlugInfoCmd extPlugInfoCmd( ieee1394service ); 
    112112    UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, 0 ); 
    113113    extPlugInfoCmd.setPlugAddress( PlugAddress( PlugAddress::ePD_Input, 
     
    148148doPlugName( Ieee1394Service& ieee1394service, int node_id ) 
    149149{ 
    150     ExtendedPlugInfoCmd extPlugInfoCmd( &ieee1394service ); 
     150    ExtendedPlugInfoCmd extPlugInfoCmd( ieee1394service ); 
    151151    UnitPlugAddress unitPlugAddress( UnitPlugAddress::ePT_PCR, 0 ); 
    152152    extPlugInfoCmd.setPlugAddress( PlugAddress( PlugAddress::ePD_Input, 
  • trunk/libfreebob/tests/test-mixer.cpp

    r365 r375  
    2828doApp( Ieee1394Service& ieee1394service, int node_id, int fb_id ) 
    2929{ 
    30     FunctionBlockCmd fbCmd( &ieee1394service, 
    31                             FunctionBlockCmd::eFBT_Processing, 
    32                             fb_id, 
    33                             FunctionBlockCmd::eCA_Current ); 
     30    FunctionBlockCmd fbCmd( ieee1394service, 
     31                            FunctionBlockCmd::eFBT_Processing, 
     32                            fb_id, 
     33                            FunctionBlockCmd::eCA_Current ); 
    3434    fbCmd.setNodeId( node_id ); 
    3535    fbCmd.setSubunitId( 0x00 ); 
  • trunk/libfreebob/tests/test-volume.cpp

    r365 r375  
    2929           FunctionBlockCmd::EControlAttribute control_attrib ) 
    3030{ 
    31     FunctionBlockCmd fbCmd( &ieee1394service, 
    32                             FunctionBlockCmd::eFBT_Feature, 
    33                             ffb_id, 
    34                             control_attrib ); 
     31    FunctionBlockCmd fbCmd( ieee1394service, 
     32                            FunctionBlockCmd::eFBT_Feature, 
     33                            ffb_id, 
     34                            control_attrib ); 
    3535    fbCmd.setNodeId( node_id ); 
    3636    fbCmd.setSubunitId( 0x00 ); 
     
    5656setVolume( Ieee1394Service& ieee1394service, int node_id, int ffb_id, int vol ) 
    5757{ 
    58     FunctionBlockCmd fbCmd( &ieee1394service, 
    59                             FunctionBlockCmd::eFBT_Feature, 
    60                             ffb_id, 
    61                             FunctionBlockCmd::eCA_Current ); 
     58    FunctionBlockCmd fbCmd( ieee1394service, 
     59                            FunctionBlockCmd::eFBT_Feature, 
     60                            ffb_id, 
     61                            FunctionBlockCmd::eCA_Current ); 
    6262    fbCmd.setNodeId( node_id ); 
    6363    fbCmd.setSubunitId( 0x00 ); 
  • trunk/libfreebob/TODO

    r142 r375  
    66  the DebugModule's methods. The idea is to have a more consistant 
    77  code. 
    8 - All libfreebobavc interfaces should use references instead of pointers 
    9   like in  ExtendedPlugInfoCmd( Ieee1394Service* ieee1394service, ... ) 
    10   ->  ExtendedPlugInfoCmd( Ieee1394Service& ieee1394service,