bool QDSDataStore::add( const QUniqueId& id, QFile& data, const QMimeType& type ) { // Create info file and copy data file (in an atomic fashion) QDSLockedFile infoFile( infoFileName( id ) ); if ( infoFile.exists() ) { qLog(DataSharing) << "QDSDataStore::add - info file already exists"; return false; } if ( !infoFile.openLocked( QIODevice::WriteOnly ) ) { qLog(DataSharing) << "QDSDataStore::add - " << "info file can't be written to"; return false; } if ( !data.copy( dataFileName( id ) ) ) { qLog(DataSharing) << "QDSDataStore::add - couldn't copy data file"; return false; } QDataStream ds(&infoFile); ds << 1; ds << 0; ds << type.id(); return true; }
/*! Determines the approriate directory within a \a location path for saving content of a given \a {mimeType}. */ QDir QFSContentEngine::determineDirectory(const QMimeType &mimeType, const QString &location) { QDir dir(location + QLatin1Char('/') + mimeType.id()); if (!dir.exists()) QDir::root().mkpath(dir.absolutePath()); return dir; }
QDLSourceSelectorPrivate( const QMimeType& responseDataType ) : serviceList( 0 ), services( 0 ), itemToServiceIndex() { QStringList attributes; attributes.append( "QDL" ); // No tr attributes.append( "request" ); // No tr services = new QDSServices( QDLCLIENT_HINT_MIMETYPE, responseDataType.id(), attributes ); }
bool QDSDataStore::add( const QUniqueId& id, const QByteArray& data, const QMimeType& type ) { // Create info and data files (in an atomic fashion) QDSLockedFile infoFile( infoFileName( id ) ); if ( infoFile.exists() ) { qLog(DataSharing) << "QDSDataStore::add - info file already exists"; return false; } if ( !infoFile.openLocked( QIODevice::WriteOnly ) ) { qLog(DataSharing) << "QDSDataStore::add - " << "info file can't be written to"; return false; } QDSLockedFile dataFile( dataFileName( id ) ); if ( dataFile.exists() ) { qLog(DataSharing) << "QDSDataStore::add - data file already exists"; return false; } if ( !dataFile.openLocked( QIODevice::WriteOnly ) ) { qLog(DataSharing) << "QDSDataStore::add - " << "data file can't be written to"; return false; } // Write to files QDataStream infoDs( &infoFile ); infoDs << 1; infoDs << 0; infoDs << type.id(); dataFile.write( data ); return true; }