void SolidHwTest::testSetupTeardown() { Solid::StorageAccess *access; { Solid::Device device("/org/kde/solid/fakehw/volume_part1_size_993284096"); access = device.as<Solid::StorageAccess>(); } QList<QVariant> args; QSignalSpy spy(access, SIGNAL(accessibilityChanged(bool,QString))); access->teardown(); QCOMPARE(spy.count(), 1); args = spy.takeFirst(); QCOMPARE(args.at(0).toBool(), false); access->setup(); QCOMPARE(spy.count(), 1); args = spy.takeFirst(); QCOMPARE(args.at(0).toBool(), true); }
void IpodCollectionFactory::createCollectionForSolidDevice( const QString &udi ) { DEBUG_BLOCK DeviceType type; QDir mountPoint; QString uuid; Solid::Device device( udi ); Solid::StorageAccess *ssa = device.as<Solid::StorageAccess>(); if( ssa ) { type = iPod; if( ssa->isIgnored() ) { debug() << "device" << udi << "ignored, ignoring :-)"; return; } // we are definitely interested in this device, listen for accessibility changes disconnect( ssa, SIGNAL(accessibilityChanged(bool,QString)), this, 0 ); connect( ssa, SIGNAL(accessibilityChanged(bool,QString)), SLOT(slotAccessibilityChanged(bool,QString)) ); if( !ssa->isAccessible() ) { debug() << "device" << udi << "not accessible, ignoring for now"; return; } mountPoint = ssa->filePath(); Solid::StorageVolume *volume = device.as<Solid::StorageVolume>(); if( volume ) uuid = volume->uuid(); } else // no ssa { do { // break inside this block means "continue with collection creation"
void StorageDevice::mount() { Solid::StorageAccess *access = m_device.as<Solid::StorageAccess>(); access->setup(); }
void StorageDevice::unmount() { Solid::StorageAccess *access = m_device.as<Solid::StorageAccess>(); access->teardown(); }